質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

871閲覧

Todoistとgasで接続する際のOauth2認証スクリプトについて

nmn1234567

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2022/05/14 04:39

前提・実現したいこと

現在TodoistというサービスとのAPI認証のプログラムをGASにて作成しています。
GASライブラリで提供されているOAuth2 for Apps Scriptを使用し認証を下記スクリプトの
authorize()を実行したところ、Todoist側認証UR Lへのアクセス、操作許可までは行えるのですが
その後、Google側へ正しく遷移されずエラーが表示されます。

エラーの解決方法や原因等、ご教授お願い致します。

[参考] https://developer.todoist.com/guides/#integration-archetypes

Google側でのエラー表記

Google ドキュメント内でエラーが発生しました。
このページを再読み込みするか、数分後にこのページをもう一度開いてみてください。

該当のソースコード

// 認証を行いアクセストークンをログ出力する function authorize() { const service = getTodoistService(); const authorizationUrl = service.getAuthorizationUrl(); console.log(authorizationUrl); } //Todoistのサービスを取得する関数 function getTodoistService() { //client_id と client_secret はgasの プロパティへ登録済みです const properties = PropertiesService.getScriptProperties(); const clientId = properties.getProperty('client_id'); const clientSecret = properties.getProperty('client_secret'); return OAuth2.createService('Todoist') .setAuthorizationBaseUrl('https://todoist.com/oauth/authorize') .setTokenUrl('https://todoist.com/oauth/access_token') .setClientSecret(clientSecret) .setClientId(clientId) .setScope('data:read') .setCallbackFunction('authCallback') .setPropertyStore(PropertiesService.getUserProperties()) } //認証コールバック関数 function authCallback(request) { const service = getTodoistService(); const isAuthorized = service.handleCallback(request); if (isAuthorized) { return HtmlService.createHtmlOutput('認証成功'); } else { return HtmlService.createHtmlOutput('認証失敗'); }; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問