این صفحه نحوهی انتقال اسکریپتهای یکسان به V8 را با استفاده از Google Apps Script و Apps Script API شرح میدهد.
زمان اجرای راینو در تاریخ ۳۱ ژانویه ۲۰۲۶ یا بعد از آن لغو شد. هر اسکریپتی را که قبل از آن تاریخ از زمان اجرای راینو استفاده میکند، منتقل کنید. اگر چندین اسکریپت یکسان در راینو دارید که در حال اجرا هستند، همه آنها را با استفاده از API اسکریپت برنامهها به V8 منتقل کنید.
محیط خود را تنظیم کنید
- از تنظیمات داشبورد Apps Script، API Apps Script را فعال کنید.
- به تنظیمات داشبورد Apps Script بروید.
- اگر API خاموش است، روی Apps Script API کلیک کنید، سپس گزینه Apps Script API را فعال کنید.
- یک پروژه استاندارد Google Cloud ایجاد کنید یا از یک پروژه موجود دوباره استفاده کنید.
- در پروژه ابری خود، صفحه رضایت OAuth را پیکربندی کنید .
در پروژه Cloud خود، API مربوط به Apps Script را فعال کنید .
یک پروژه Apps Script ایجاد کنید و آن را به پروژه Cloud خود اختصاص دهید.
- یک پروژه مستقل Apps Script از داشبورد Apps Script یا با رفتن به script.new ایجاد کنید.
- روی تنظیمات پروژه کلیک کنید
.
- در بخش پروژه گوگل کلود ، روی تغییر پروژه کلیک کنید.
- شماره پروژه ابری خود را وارد کنید.
- روی تنظیم پروژه کلیک کنید.
اسکریپتهای مهاجرت
نمونه کد زیر نحوه استفاده از API Apps Script را برای مهاجرت اسکریپتهای یکسان از راینو به V8 با جایگزینی فایلهای موجود در هر پروژه Apps Script با مجموعهای از فایلهای سازگار با V8 نشان میدهد.
وقتی از متد projects.UpdateContent از API مربوط به Apps Script استفاده میکنید، تمام فایلهای پروژه اسکریپت، حتی آنهایی که نمیخواهید تغییر دهید را نیز اضافه کنید. اگر فایلی را اضافه نکنید، فایل حذف میشود و قابل بازیابی نیست.
مطمئن شوید که حداقل به پروژههای اسکریپتی که قصد انتقال آنها را دارید، دسترسی ویرایشگر دارید.
کد.gs
function updateRhinoScripts() {
// An array of script IDs of script projects to migrate.
// TODO(developer): Replace with your script IDs.
const scriptIds = ['abcdef12345678', 'abcdef12345678'];
// An array of file objects to replace the existing files in each script project.
// Remember to include all files for the script, excluded files are deleted.
// TODO(developer): Replace with your script files.
const filesToUpdate = {
"files": [
{
"name": "Code",
"type": "SERVER_JS",
"source": "// New updates\nfunction myFunction() {\n console.log('Hello, world!');\n}"
},
{
"name": "appsscript",
"type": "JSON",
"source": JSON.stringify({
"timeZone": "America/New_York",
"dependencies": {},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
})
}
]
};
updateMultipleAppsScripts(scriptIds, filesToUpdate);
}
function updateMultipleAppsScripts(scriptIds, filesToUpdate) {
// 'scriptIds' should be an array of script IDs
// 'filesToUpdate' should be an array of objects, each with:
// name: The filename (For example, "Code", "Utilities")
// source: The source code for that file.
scriptIds.forEach(function (scriptId) {
// Makes the API request.
const response = UrlFetchApp.fetch(
`https://script.googleapis.com/v1/projects/${scriptId}/content`,
{
method: "PUT",
headers: {
Authorization: `Bearer ${ScriptApp.getOAuthToken()}`
},
contentType: "application/json",
payload: JSON.stringify(filesToUpdate),
muteHttpExceptions: true
}
);
if (response.getResponseCode() !== 200) {
console.log(`Error updating script ${scriptId}: ${response.getContentText()}`);
} else {
console.log(`Script ${scriptId} updated successfully!`);
}
});
}
appsscript.json
برای استفاده از API مربوط به Apps Script در پروژه Apps Script خود، محدودههای OAuth زیر را به فایل manifest خود اضافه کنید:
-
"https://www.googleapis.com/auth/script.projects" -
"https://www.googleapis.com/auth/script.external_request"
برای نمایش فایل مانیفست در ویرایشگر، روی تنظیمات پروژه کلیک کنید و تیک گزینهی «نمایش فایل مانیفست برنامهها در ویرایشگر» را بزنید. در زیر نمونهای از فایل مانیفست با دامنههای OAuth مناسب آمده است:
{
"timeZone": "America/Denver",
"dependencies": {
},
"oauthScopes": [
"https://www.googleapis.com/auth/script.projects",
"https://www.googleapis.com/auth/script.external_request"
],
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}