Class StateTokenBuilder
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trình tạoMã thông báotrạng thái
Cho phép tập lệnh tạo mã thông báo trạng thái có thể dùng trong các API gọi lại (như luồng 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;
}
Tài liệu chi tiết
createToken()
Tạo một chuỗi đã mã hoá đại diện cho mã thông báo trạng thái.
const stateToken = ScriptApp.newStateToken().createToken();
Cầu thủ trả bóng
String
– một chuỗi đã mã hoá đại diện cho mã thông báo
withArgument(name, value)
Thêm một đối số vào mã thông báo. Bạn có thể gọi phương thức này nhiều lần.
const stateToken =
ScriptApp.newStateToken().withArgument('myField', 'myValue').createToken();
Tham số
Tên | Loại | Mô tả |
name | String | tên của đối số |
value | String | giá trị của đối số |
Cầu thủ trả bóng
StateTokenBuilder
– trình tạo mã thông báo trạng thái, để tạo chuỗi
withMethod(method)
Đặt một hàm gọi lại. Giá trị mặc định là một hàm có tên là callback()
.
const stateToken =
ScriptApp.newStateToken().withMethod('myCallback').createToken();
Tham số
Tên | Loại | Mô tả |
method | String | Tên của hàm callback, được biểu thị dưới dạng một chuỗi không có dấu ngoặc đơn hoặc đối số. Bạn có thể sử dụng các hàm từ các thư viện đi kèm, chẳng hạn như
Library.libFunction1 . |
Cầu thủ trả bóng
StateTokenBuilder
– trình tạo mã thông báo trạng thái, để tạo chuỗi
withTimeout(seconds)
Đặt thời lượng (tính bằng giây) mà mã thông báo có hiệu lực. Thời lượng mặc định là 60 giây; thời lượng tối đa là 3600 giây (1 giờ).
const stateToken = ScriptApp.newStateToken().withTimeout(60).createToken();
Tham số
Tên | Loại | Mô tả |
seconds | Integer | khoảng thời gian mã thông báo hợp lệ; giá trị tối đa là 3600 |
Cầu thủ trả bóng
StateTokenBuilder
– trình tạo mã thông báo trạng thái, để tạo chuỗi
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eStateTokenBuilder\u003c/code\u003e allows scripts to generate secure state tokens for use in callback APIs, such as OAuth flows.\u003c/p\u003e\n"],["\u003cp\u003eThese tokens can be customized with arguments, a specific callback function, and a timeout period for enhanced security and functionality.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eScriptApp.newStateToken()\u003c/code\u003e initiates the token creation process, offering methods like \u003ccode\u003ewithArgument()\u003c/code\u003e, \u003ccode\u003ewithMethod()\u003c/code\u003e, and \u003ccode\u003ewithTimeout()\u003c/code\u003e for configuration.\u003c/p\u003e\n"],["\u003cp\u003eFinally, \u003ccode\u003ecreateToken()\u003c/code\u003e generates the encrypted string representation of the state token, ready to be used in your callback URL.\u003c/p\u003e\n"]]],[],null,["# Class StateTokenBuilder\n\nStateTokenBuilder\n\nAllows scripts to create state tokens that can be used in callback APIs (like OAuth flows).\n\n```javascript\n// Reusable function to generate a callback URL, assuming the script has been\n// published as a web app (necessary to obtain the URL programmatically). If the\n// script has not been published as a web app, set `var url` in the first line\n// to the URL of your script project (which cannot be obtained\n// programmatically).\nfunction getCallbackURL(callbackFunction) {\n let url = ScriptApp.getService().getUrl(); // Ends in /exec (for a web app)\n url = `${\n url.slice(0, -4)}usercallback?state=`; // Change /exec to /usercallback\n const stateToken = ScriptApp.newStateToken()\n .withMethod(callbackFunction)\n .withTimeout(120)\n .createToken();\n return url + stateToken;\n}\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|-----------------------------------------------------------|------------------------|-------------------------------------------------------------------|\n| [createToken()](#createToken()) | `String` | Constructs an encrypted string representation of the state token. |\n| [withArgument(name, value)](#withArgument(String,String)) | [StateTokenBuilder](#) | Adds an argument to the token. |\n| [withMethod(method)](#withMethod(String)) | [StateTokenBuilder](#) | Sets a callback function. |\n| [withTimeout(seconds)](#withTimeout(Integer)) | [StateTokenBuilder](#) | Sets the duration (in seconds) for which the token is valid. |\n\nDetailed documentation\n----------------------\n\n### `create``Token()`\n\nConstructs an encrypted string representation of the state token.\n\n```javascript\nconst stateToken = ScriptApp.newStateToken().createToken();\n```\n\n#### Return\n\n\n`String` --- an encrypted string representing the token\n\n*** ** * ** ***\n\n### `with``Argument(name, value)`\n\nAdds an argument to the token. This method can be called multiple times.\n\n```javascript\nconst stateToken =\n ScriptApp.newStateToken().withArgument('myField', 'myValue').createToken();\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|---------|----------|---------------------------|\n| `name` | `String` | the name of the argument |\n| `value` | `String` | the value of the argument |\n\n#### Return\n\n\n[StateTokenBuilder](#) --- the state token builder, for chaining\n\n*** ** * ** ***\n\n### `with``Method(method)`\n\nSets a callback function. The default is a function named `callback()`.\n\n```javascript\nconst stateToken =\n ScriptApp.newStateToken().withMethod('myCallback').createToken();\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `method` | `String` | The name of the callback function, represented as a string without parentheses or arguments. You can use functions from included libraries, such as ` Library.libFunction1`. |\n\n#### Return\n\n\n[StateTokenBuilder](#) --- the state token builder, for chaining\n\n*** ** * ** ***\n\n### `with``Timeout(seconds)`\n\nSets the duration (in seconds) for which the token is valid. The defaults is 60 seconds; the\nmaximum duration is 3600 seconds (1 hour).\n\n```javascript\nconst stateToken = ScriptApp.newStateToken().withTimeout(60).createToken();\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|-----------|-----------|------------------------------------------------------------------------|\n| `seconds` | `Integer` | the duration for which the token is valid; the maximum value is `3600` |\n\n#### Return\n\n\n[StateTokenBuilder](#) --- the state token builder, for chaining"]]