スクリプトで、コールバック API(OAuth フローなど)で使用できる状態トークンを作成できるようにします。
// Reusable function to generate a callback URL, assuming the script has been // published as a web app (necessary to obtain the URL programmatically). If the // script has not been published as a web app, set `var url` in the first line // to the URL of your script project (which cannot be obtained // programmatically). function getCallbackURL(callbackFunction) { let url = ScriptApp.getService().getUrl(); // Ends in /exec (for a web app) url = `${ url.slice(0, -4)}usercallback?state=`; // Change /exec to /usercallback const stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return url + stateToken; }
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
create | String | 状態トークンの暗号化された文字列表現を構築します。 |
with | State | トークンに引数を追加します。 |
with | State | コールバック関数を設定します。 |
with | State | トークンが有効な期間(秒単位)を設定します。 |
詳細なドキュメント
create Token()
状態トークンの暗号化された文字列表現を構築します。
const stateToken = ScriptApp.newStateToken().createToken();
戻る
String
- トークンを表す暗号化された文字列
with Argument(name, value)
トークンに引数を追加します。このメソッドは複数回呼び出すことができます。
const stateToken = ScriptApp.newStateToken().withArgument('myField', 'myValue').createToken();
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 引数の名前 |
value | String | 引数の値 |
戻る
State
- チェーン接続用の状態トークン ビルダー
with Method(method)
コールバック関数を設定します。デフォルトは callback()
という名前の関数です。
const stateToken = ScriptApp.newStateToken().withMethod('myCallback').createToken();
パラメータ
名前 | 型 | 説明 |
---|---|---|
method | String | コールバック関数の名前。括弧や引数のない文字列として表されます。
Library.libFunction1 など、含まれているライブラリの関数を使用できます。 |
戻る
State
- チェーン接続用の状態トークン ビルダー
with Timeout(seconds)
トークンが有効な期間(秒単位)を設定します。デフォルトは 60 秒で、最大時間は 3,600 秒(1 時間)です。
const stateToken = ScriptApp.newStateToken().withTimeout(60).createToken();
パラメータ
名前 | 型 | 説明 |
---|---|---|
seconds | Integer | トークンが有効な期間。最大値は 3600 です。 |
戻る
State
- チェーン接続用の状態トークン ビルダー