Class StateTokenBuilder
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
StateTokenBuilder
允許指令碼建立可在回呼 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;
}
內容詳盡的說明文件
createToken()
建構狀態符記的加密字串表示法。
const stateToken = ScriptApp.newStateToken().createToken();
回攻員
String
:代表權杖的加密字串
withArgument(name, value)
將引數新增至符記。這個方法可以多次呼叫。
const stateToken =
ScriptApp.newStateToken().withArgument('myField', 'myValue').createToken();
參數
名稱 | 類型 | 說明 |
name | String | 引數的名稱 |
value | String | 引數的值 |
回攻員
StateTokenBuilder
:狀態權杖建構工具,用於鏈結
withMethod(method)
設定回呼函式。預設為名為 callback()
的函式。
const stateToken =
ScriptApp.newStateToken().withMethod('myCallback').createToken();
參數
名稱 | 類型 | 說明 |
method | String | 回呼函式的名稱,以不含括號或引數的字串表示。您可以使用所納入程式庫的函式,例如
Library.libFunction1 。 |
回攻員
StateTokenBuilder
:狀態權杖建構工具,用於鏈結
withTimeout(seconds)
設定權杖的有效時間 (以秒為單位)。預設值為 60 秒,最長時間為 3600 秒 (1 小時)。
const stateToken = ScriptApp.newStateToken().withTimeout(60).createToken();
參數
名稱 | 類型 | 說明 |
seconds | Integer | 權杖有效期間,最大值為 3600 |
回攻員
StateTokenBuilder
:狀態權杖建構工具,用於鏈結
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
[null,null,["上次更新時間:2025-07-26 (世界標準時間)。"],[[["\u003cp\u003eThe \u003ccode\u003eStateTokenBuilder\u003c/code\u003e allows scripts to generate secure state tokens for use in callback APIs, such as OAuth flows.\u003c/p\u003e\n"],["\u003cp\u003eThese tokens can be customized with arguments, a specific callback function, and a timeout period for enhanced security and functionality.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eScriptApp.newStateToken()\u003c/code\u003e initiates the token creation process, offering methods like \u003ccode\u003ewithArgument()\u003c/code\u003e, \u003ccode\u003ewithMethod()\u003c/code\u003e, and \u003ccode\u003ewithTimeout()\u003c/code\u003e for configuration.\u003c/p\u003e\n"],["\u003cp\u003eFinally, \u003ccode\u003ecreateToken()\u003c/code\u003e generates the encrypted string representation of the state token, ready to be used in your callback URL.\u003c/p\u003e\n"]]],[],null,["# Class StateTokenBuilder\n\nStateTokenBuilder\n\nAllows scripts to create state tokens that can be used in callback APIs (like OAuth flows).\n\n```javascript\n// Reusable function to generate a callback URL, assuming the script has been\n// published as a web app (necessary to obtain the URL programmatically). If the\n// script has not been published as a web app, set `var url` in the first line\n// to the URL of your script project (which cannot be obtained\n// programmatically).\nfunction getCallbackURL(callbackFunction) {\n let url = ScriptApp.getService().getUrl(); // Ends in /exec (for a web app)\n url = `${\n url.slice(0, -4)}usercallback?state=`; // Change /exec to /usercallback\n const stateToken = ScriptApp.newStateToken()\n .withMethod(callbackFunction)\n .withTimeout(120)\n .createToken();\n return url + stateToken;\n}\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|-----------------------------------------------------------|------------------------|-------------------------------------------------------------------|\n| [createToken()](#createToken()) | `String` | Constructs an encrypted string representation of the state token. |\n| [withArgument(name, value)](#withArgument(String,String)) | [StateTokenBuilder](#) | Adds an argument to the token. |\n| [withMethod(method)](#withMethod(String)) | [StateTokenBuilder](#) | Sets a callback function. |\n| [withTimeout(seconds)](#withTimeout(Integer)) | [StateTokenBuilder](#) | Sets the duration (in seconds) for which the token is valid. |\n\nDetailed documentation\n----------------------\n\n### `create``Token()`\n\nConstructs an encrypted string representation of the state token.\n\n```javascript\nconst stateToken = ScriptApp.newStateToken().createToken();\n```\n\n#### Return\n\n\n`String` --- an encrypted string representing the token\n\n*** ** * ** ***\n\n### `with``Argument(name, value)`\n\nAdds an argument to the token. This method can be called multiple times.\n\n```javascript\nconst stateToken =\n ScriptApp.newStateToken().withArgument('myField', 'myValue').createToken();\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|---------|----------|---------------------------|\n| `name` | `String` | the name of the argument |\n| `value` | `String` | the value of the argument |\n\n#### Return\n\n\n[StateTokenBuilder](#) --- the state token builder, for chaining\n\n*** ** * ** ***\n\n### `with``Method(method)`\n\nSets a callback function. The default is a function named `callback()`.\n\n```javascript\nconst stateToken =\n ScriptApp.newStateToken().withMethod('myCallback').createToken();\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `method` | `String` | The name of the callback function, represented as a string without parentheses or arguments. You can use functions from included libraries, such as ` Library.libFunction1`. |\n\n#### Return\n\n\n[StateTokenBuilder](#) --- the state token builder, for chaining\n\n*** ** * ** ***\n\n### `with``Timeout(seconds)`\n\nSets the duration (in seconds) for which the token is valid. The defaults is 60 seconds; the\nmaximum duration is 3600 seconds (1 hour).\n\n```javascript\nconst stateToken = ScriptApp.newStateToken().withTimeout(60).createToken();\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|-----------|-----------|------------------------------------------------------------------------|\n| `seconds` | `Integer` | the duration for which the token is valid; the maximum value is `3600` |\n\n#### Return\n\n\n[StateTokenBuilder](#) --- the state token builder, for chaining"]]