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()String构造状态令牌的加密字符串表示形式。
withArgument(name, value)StateTokenBuilder向令牌添加参数。
withMethod(method)StateTokenBuilder设置回调函数。
withTimeout(seconds)StateTokenBuilder设置令牌的有效时长(以秒为单位)。

详细文档

createToken()

构造状态令牌的加密字符串表示形式。

const stateToken = ScriptApp.newStateToken().createToken();

返回

String - 表示令牌的加密字符串


withArgument(name, value)

向令牌添加参数。此方法可被多次调用。

const stateToken =
    ScriptApp.newStateToken().withArgument('myField', 'myValue').createToken();

参数

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

返回

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


withMethod(method)

设置回调函数。默认值为名为 callback() 的函数。

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

参数

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

返回

StateTokenBuilder - 用于串联的状态令牌构建器


withTimeout(seconds)

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

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

参数

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

返回

StateTokenBuilder - 用于串联的状态令牌构建器