En esta página, se describe cómo migrar secuencias de comandos idénticas a V8 con Apps Script y la API de Apps Script.
Debes migrar todas las secuencias de comandos que usen el entorno de ejecución de Rhino antes de que se desactive, lo que ocurrirá a partir del 31 de enero de 2026. Si tienes varias secuencias de comandos idénticas que se ejecutan en Rhino, puedes migrarlas a V8 todas juntas con la API de Apps Script.
Configura tu entorno
- En la configuración del panel de Apps Script, activa la API de Apps Script.
- Ve a la configuración del panel de Apps Script.
- Si la API está desactivada, haz clic en API de Google Apps Script y, luego, activa el botón de activación de la API de Google Apps Script.
- Crea un proyecto estándar de Google Cloud o reutiliza uno existente.
- En tu proyecto de Cloud, configura la pantalla de consentimiento de OAuth.
En tu proyecto de Cloud, activa la API de Apps Script.
Crea un proyecto de Apps Script y asígnale tu proyecto de Cloud.
- Crea un proyecto independiente de Apps Script desde el panel de Apps Script o ve a script.new.
- Haz clic en Configuración del proyecto
.
- En la sección Proyecto de Google Cloud Platform (GCP), haz clic en Cambiar proyecto.
- Ingresa el número de proyecto de tu proyecto de Cloud.
- Haz clic en Establecer el proyecto.
Cómo migrar secuencias de comandos
En el siguiente ejemplo de código, se muestra cómo usar la API de Apps Script para migrar secuencias de comandos idénticas de Rhino a V8 reemplazando los archivos de cada proyecto de Apps Script por un conjunto de archivos compatibles con V8.
Asegúrate de tener al menos acceso de editor a los proyectos de secuencia de comandos que planeas 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 la API de Apps Script en tu proyecto de Apps Script, debes agregar los siguientes permisos de OAuth a tu archivo de manifiesto:
"https://www.googleapis.com/auth/script.projects"
"https://www.googleapis.com/auth/script.external_request"
Para exponer el archivo de manifiesto en el editor, haz clic en Project Settings
y marca la casilla Show "appsscript.json" manifest file in editor. El siguiente es un archivo de manifiesto de muestra con los alcances de OAuth adecuados:
{
"timeZone": "America/Denver",
"dependencies": {
},
"oauthScopes": [
"https://www.googleapis.com/auth/script.projects",
"https://www.googleapis.com/auth/script.external_request"
],
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}
Temas relacionados
- Descripción general del entorno de ejecución de V8
- Cómo migrar secuencias de comandos al entorno de ejecución de V8