בדף הזה נסביר איך להעביר סקריפטים זהים לגרסה V8 באמצעות Apps Script ו-Apps Script API.
עליכם להעביר את כל הסקריפטים שמשתמשים בסביבת זמן הריצה של Rhino לפני שהיא תושבת, החל מ-31 בינואר 2026 ואילך. אם יש לכם כמה סקריפטים זהים שפועלים ב-Rhino, תוכלו להעביר אותם כולם ל-V8 באמצעות Apps Script API.
הגדרת הסביבה
- בהגדרות של לוח הבקרה של Apps Script, מפעילים את Apps Script API.
- עוברים אל הגדרות לוח הבקרה של Apps Script.
- אם ה-API מושבת, לוחצים על Google Apps Script API ומפעילים את המתג של Google Apps Script API.
- יוצרים פרויקט רגיל ב-Google Cloud או משתמשים מחדש בפרויקט קיים.
- בפרויקט ב-Cloud, מגדירים את מסך ההסכמה ל-OAuth.
בפרויקט ב-Cloud, מפעילים את Apps Script API.
יוצרים פרויקט Apps Script ומקצים את פרויקט Apps Script לפרויקט ב-Cloud.
- יוצרים פרויקט עצמאי של Apps Script בלוח הבקרה של Apps Script או בכתובת script.new.
- לוחצים על Project Settings (הגדרות הפרויקט)
.
- בקטע Google Cloud Platform (GCP) Project, לוחצים על Change project.
- מזינים את מספר הפרויקט ב-Cloud.
- לוחצים על Set project.
העברת סקריפטים
בדוגמת הקוד הבאה מוסבר איך להשתמש ב-Apps Script API כדי להעביר סקריפטים זהים מ-Rhino ל-V8, על ידי החלפת הקבצים בכל פרויקט Apps Script בקבוצת קבצים שתואמים ל-V8.
חשוב לוודא שיש לכם לפחות הרשאת עריכה לפרויקטים של הסקריפטים שאתם מתכננים להעביר.
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!`);
}
});
}
כדי להשתמש ב-Apps Script API בפרויקט שלכם ב-Apps Script, צריך להוסיף את היקפי ההרשאות הבאים של OAuth לקובץ המניפסט:
"https://www.googleapis.com/auth/script.projects"
"https://www.googleapis.com/auth/script.external_request"
כדי לחשוף את קובץ המניפסט בעורך, לוחצים על Project Settings (הגדרות הפרויקט) ומסמנים את התיבה Show "appsscript.json" manifest file in editor (הצגת קובץ המניפסט 'appsscript.json' בעורך). קובץ מניפסט לדוגמה עם היקפי ההרשאות המתאימים של 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"
}