Na tej stronie dowiesz się, jak przenieść identyczne skrypty do V8 za pomocą Google Apps Script i interfejsu Apps Script API.
Środowisko wykonawcze Rhino zostało wyłączone 31 stycznia 2026 r. lub w późniejszym terminie. Przenieś wszystkie skrypty, które korzystają ze środowiska wykonawczego Rhino, przed tą datą. Jeśli masz wiele identycznych skryptów działających w środowisku Rhino, przenieś je wszystkie do środowiska V8 za pomocą interfejsu Apps Script API.
Konfigurowanie środowiska
- W ustawieniach panelu Apps Script włącz interfejs Apps Script API.
- Otwórz ustawienia panelu Apps Script.
- Jeśli interfejs API jest wyłączony, kliknij Apps Script API, a następnie włącz przełącznik Apps Script API.
- Utwórz standardowy projekt Google Cloud lub użyj istniejącego projektu.
- W projekcie w chmurze skonfiguruj ekran zgody OAuth.
W projekcie w chmurze włącz interfejs Apps Script API.
Utwórz projekt Apps Script i przypisz go do projektu w chmurze.
- Utwórz samodzielny projekt Apps Script w panelu Apps Script lub na stronie script.new.
- Kliknij Ustawienia projektu
.
- W sekcji Projekt Google Cloud kliknij Zmień projekt.
- Wpisz numer projektu w chmurze.
- Kliknij Ustaw projekt.
Migracja skryptów
Poniższy przykładowy kod pokazuje, jak za pomocą interfejsu Apps Script API przenieść identyczne skrypty z Rhino do V8, zastępując pliki w każdym projekcie Apps Script zestawem plików zgodnych z V8.
Gdy używasz metody
projects.UpdateContent
interfejsu Apps Script API, uwzględnij wszystkie pliki w projekcie skryptu, nawet te, których nie chcesz zmieniać. Jeśli nie uwzględnisz pliku, zostanie on usunięty i nie będzie można go przywrócić.
Sprawdź, czy masz co najmniej uprawnienia do edycji projektów skryptów, które chcesz przenieść.
Code.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
Aby używać interfejsu Apps Script API w projekcie Apps Script, dodaj do pliku manifestu te zakresy OAuth:
"https://www.googleapis.com/auth/script.projects""https://www.googleapis.com/auth/script.external_request"
Aby wyświetlić plik manifestu w edytorze, kliknij Ustawienia projektu
i zaznacz pole Wyświetlaj plik manifestu „appsscript.json” w edytorze. Poniżej znajdziesz przykładowy plik manifestu z odpowiednimi zakresami 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"
}