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:狀態權杖建構工具,用於鏈結