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