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){
  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();

参数

名称类型说明
nameString参数的名称
valueString参数

返回

StateTokenBuilder - 状态令牌构建器,用于链接


withMethod(method)

设置一个回调函数。默认值为 callback() 函数。

var stateToken = ScriptApp.newStateToken().withMethod('myCallback').createToken();

参数

名称类型说明
methodString回调函数的名称,表示为不带括号的字符串或 参数。您可以使用所包含的库(例如 Library.libFunction1)中的函数。

返回

StateTokenBuilder - 状态令牌构建器,用于链接


withTimeout(seconds)

设置令牌有效的时长(以秒为单位)。默认值是 60 秒该 最大时长为 3600 秒(1 小时)。

var stateToken = ScriptApp.newStateToken().withTimeout(60).createToken();

参数

名称类型说明
secondsInteger令牌的有效时长;最大值为 3600

返回

StateTokenBuilder - 状态令牌构建器,用于链接