Class StateTokenBuilder
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
أداةإنشاءالرموز المميزة للولايات
السماح للبرامج النصية بإنشاء رموز مميزة للحالة يمكن استخدامها في واجهات برمجة تطبيقات عمليات تسجيل الإحالات الناجحة (مثل عمليات 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()
تُنشئ تمثيلاً مشفَّرًا لسلسلة الرمز المميّز للحالة.
const stateToken = ScriptApp.newStateToken().createToken();
الإرجاع
String
: سلسلة مشفّرة تمثّل الرمز المميّز
withArgument(name, value)
تضيف وسيطة إلى الرمز المميّز. يمكن استدعاء هذه الطريقة عدة مرات.
const stateToken =
ScriptApp.newStateToken().withArgument('myField', 'myValue').createToken();
المعلمات
الاسم | النوع | الوصف |
name | String | اسم الوسيطة |
value | String | قيمة الوسيطة |
الإرجاع
StateTokenBuilder
- أداة إنشاء الرموز المميّزة للحالة، لإنشاء سلاسل
withMethod(method)
تُستخدَم لضبط دالة ردّ اتصال. القيمة التلقائية هي دالة باسم callback()
.
const stateToken =
ScriptApp.newStateToken().withMethod('myCallback').createToken();
المعلمات
الاسم | النوع | الوصف |
method | String | اسم دالة الاستدعاء، يتم تمثيله كسلسلة بدون أقواس أو
وسيطات. يمكنك استخدام دوال من المكتبات المضمّنة، مثل
Library.libFunction1 . |
الإرجاع
StateTokenBuilder
- أداة إنشاء الرموز المميّزة للحالة، لإنشاء سلاسل
withTimeout(seconds)
تُستخدَم لضبط المدة (بالثواني) التي يكون فيها الرمز المميّز صالحًا. المدة التلقائية هي 60 ثانية، والحد الأقصى للمدة هو 3600 ثانية (ساعة واحدة).
const stateToken = ScriptApp.newStateToken().withTimeout(60).createToken();
المعلمات
الاسم | النوع | الوصف |
seconds | Integer | المدة التي يكون فيها الرمز المميّز صالحًا، والحد الأقصى للقيمة هو 3600 |
الإرجاع
StateTokenBuilder
- أداة إنشاء الرموز المميّزة للحالة، لإنشاء سلاسل
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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"]]