Esta página descreve como migrar scripts idênticos para o V8 usando o Apps Script e a API Apps Script.
É necessário migrar todos os scripts que usam o ambiente de execução do Rhino antes que ele seja desativado, o que vai acontecer em ou após 31 de janeiro de 2026. Se você tiver vários scripts idênticos executados no Rhino, poderá migrá-los para o V8 usando a API Apps Script.
Configurar o ambiente
- Nas configurações do painel do Apps Script, ative a API Apps Script.
- Acesse as Configurações do painel do Apps Script.
- Se a API estiver desativada, clique em API Apps Script e ative a chave da API Apps Script.
- Crie um projeto padrão do Google Cloud ou reutilize um projeto atual.
- No seu projeto do Cloud, configure a tela de consentimento do OAuth.
No seu projeto do Cloud, ative a API Apps Script.
Crie um projeto do Apps Script e atribua-o ao seu projeto do Cloud.
- Crie um projeto independente do Apps Script no painel do Apps Script ou acesse script.new.
- Clique em Configurações do projeto
.
- Na seção Projeto do Google Cloud Platform (GCP), clique em Mudar projeto.
- Digite o número do projeto do Cloud.
- Clique em Configurar projeto.
Migrar scripts
O exemplo de código a seguir mostra como usar a API Apps Script para migrar scripts idênticos do Rhino para o V8 substituindo os arquivos em cada projeto do Apps Script por um conjunto de arquivos compatíveis com o V8.
Verifique se você tem pelo menos acesso de editor aos projetos de script que pretende migrar.
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!`);
}
});
}
Para usar a API Apps Script no seu projeto do Apps Script, adicione os seguintes escopos do OAuth ao arquivo de manifesto:
"https://www.googleapis.com/auth/script.projects"
"https://www.googleapis.com/auth/script.external_request"
Para expor o arquivo de manifesto no editor, clique em Project Settings
e marque a caixa Show "appsscript.json" manifest file in editor. Confira abaixo um exemplo de arquivo de manifesto com os escopos OAuth adequados:
{
"timeZone": "America/Denver",
"dependencies": {
},
"oauthScopes": [
"https://www.googleapis.com/auth/script.projects",
"https://www.googleapis.com/auth/script.external_request"
],
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}