0

Web アプリからユーザーのコンテキスト (承認) でアドオンの機能をトリガーする方法を探しています。Apps Script Execution API を使用してそれをトリガーしようとしました。アドオン(アプリスクリプト)がアクセストークンをWebアプリに登録し、Webアプリがアクセストークンを使って実行APIをトリガーする流れです。これは初めて機能します。しかし、問題は、アクセス トークンが数分間しか有効でないことです。その後、認証の失敗により、Web アプリは実行 API を介して機能を開始できません。

質問:

実行 API を使用して、ユーザーのコンテキストで別の Web アプリからアドオン/アプリ スクリプト関数をトリガーするためのアプローチは正しいですか?

もしそうなら、どうすればアクセストークンの期限切れを回避できますか? どうやら、「更新トークンを取得する」/「トークンを更新する」ための API がアプリ スクリプトにありません。トークンが永久に (ユーザーがキャンセルするまで) 有効になるように、トークンを更新するにはどうすればよいでしょうか?

この場合に役立つ根本的に異なるアプローチはありますか?

「PearDeck」、「Form Approvals」、「Form Publisher」などのアドオンがこれを正常に実行していることがわかります (ユーザーの承認を得て Web アプリからアドオン機能をトリガーします)。

このフォーラムで専門家のアドバイスが得られることを願っています。ありがとう

使用された実行 API - トークンの有効期限が切れる問題

function prepareToken() {
// send to web app
    var token = ScriptApp.getOAuthToken();

    URLFetchApp.fetch("url?token="+token);
}

function doSomeWorkFromUserContext() {
    // impl here
}

POST https://script.googleapis.com/v1/scripts/{scriptId}:run

Request Header
Authorization: Bearer + {token}

Request Body 
{
  "function": "doSomeWorkFromUserContext"
}

関数 doSomeWorkFromUserContext は、呼び出しのたびに呼び出されるはずですが、しばらくすると認証エラーが発生します。

4

1 に答える 1