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 秒;這個 時間最長為 3,600 秒 (1 小時)。

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

參數

名稱類型說明
secondsInteger權杖的有效期間;值必須小於 3600

回攻員

StateTokenBuilder:用於鏈結的狀態權杖建構工具