توضِّح هذه الصفحة كيفية نقل النصوص البرمجية المتطابقة إلى الإصدار 8 باستخدام "برمجة تطبيقات Google" وواجهة برمجة التطبيقات "برمجة تطبيقات Google".
يجب نقل أي نصوص برمجية تستخدِم وقت تشغيل Rhino قبل إيقافه نهائيًا في 31 كانون الثاني (يناير) 2026 أو بعد هذا التاريخ. إذا كانت لديك عدة برمَج نصية متطابقة قيد التشغيل على Rhino، يمكنك نقلها إلى V8 معًا باستخدام Apps Script API.
إعداد البيئة
- من إعدادات لوحة بيانات "برمجة التطبيقات"، فعِّل
واجهة برمجة التطبيقات "برمجة التطبيقات".
- انتقِل إلى إعدادات لوحة بيانات Apps Script.
- إذا كانت واجهة برمجة التطبيقات غير مفعّلة، انقر على Google Apps Script API، ثم فعِّل Google Apps Script API.
- أنشئ مشروعًا عاديًا على Google Cloud أو أعِد استخدام مشروع حالي.
- في مشروعك على Cloud، اضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth.
في مشروعك على Cloud، فعِّل Apps Script API.
أنشئ مشروعًا في Apps Script وحدِّد مشروع Apps Script لمشروعك على Cloud.
- أنشئ مشروعًا مستقلاً من "برمجة تطبيقات Google" من لوحة بيانات "برمجة تطبيقات Google" أو من خلال الانتقال إلى script.new.
- انقر على إعدادات المشروع
.
- في قسم مشروع Google Cloud Platform (GCP)، انقر على تغيير المشروع.
- أدخِل رقم مشروعك على Cloud.
- انقر على ضبط المشروع.
نقل النصوص البرمجية
يوضّح نموذج الرمز البرمجي التالي كيفية استخدام 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"
لعرض ملف البيان في المحرِّر، انقر على إعدادات المشروع
وتأكَّد من وضع علامة في المربّع عرض ملف البيان "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"
}