允许脚本创建可在回调 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 秒;最长时长为 3600 秒(1 小时)。
const stateToken = ScriptApp.newStateToken().withTimeout(60).createToken();
参数
名称 | 类型 | 说明 |
---|---|---|
seconds | Integer | 令牌有效的时长;最大值为 3600 |
返回
State
- 用于串联的状态令牌构建器