允许脚本创建可在回调 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){ var url = ScriptApp.getService().getUrl(); // Ends in /exec (for a web app) url = url.slice(0, -4) + 'usercallback?state='; // Change /exec to /usercallback var stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return url + stateToken; }
方法
方法 | 返回类型 | 简介 |
---|---|---|
createToken() | String | 构造状态令牌的加密字符串表示。 |
withArgument(name, value) | StateTokenBuilder | 向令牌添加一个参数。 |
withMethod(method) | StateTokenBuilder | 设置一个回调函数。 |
withTimeout(seconds) | StateTokenBuilder | 设置令牌有效的时长(以秒为单位)。 |
详细文档
createToken()
构造状态令牌的加密字符串表示。
var stateToken = ScriptApp.newStateToken().createToken();
返回
String
- 表示令牌的加密字符串
withArgument(name, value)
向令牌添加一个参数。此方法可以多次调用。
var stateToken = ScriptApp.newStateToken().withArgument('myField', 'myValue').createToken();
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 参数的名称 |
value | String | 参数 |
返回
StateTokenBuilder
- 状态令牌构建器,用于链接
withMethod(method)
设置一个回调函数。默认值为 callback()
函数。
var stateToken = ScriptApp.newStateToken().withMethod('myCallback').createToken();
参数
名称 | 类型 | 说明 |
---|---|---|
method | String | 回调函数的名称,表示为不带括号的字符串或
参数。您可以使用所包含的库(例如
Library.libFunction1 )中的函数。 |
返回
StateTokenBuilder
- 状态令牌构建器,用于链接
withTimeout(seconds)
设置令牌有效的时长(以秒为单位)。默认值是 60 秒该 最大时长为 3600 秒(1 小时)。
var stateToken = ScriptApp.newStateToken().withTimeout(60).createToken();
参数
名称 | 类型 | 说明 |
---|---|---|
seconds | Integer | 令牌的有效时长;最大值为 3600 |
返回
StateTokenBuilder
- 状态令牌构建器,用于链接