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 は、呼び出しのたびに呼び出されるはずですが、しばらくすると認証エラーが発生します。