Migrer des scripts identiques de Rhino vers V8 de manière groupée
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page explique comment migrer des scripts identiques vers V8 à l'aide d'Apps Script et de l'API Apps Script.
Vous devez migrer tous les scripts qui utilisent l'environnement d'exécution Rhino avant sa désactivation, qui aura lieu le 31 janvier 2026 ou après cette date. Si vous exécutez plusieurs scripts identiques sur Rhino, vous pouvez les migrer vers V8 en même temps à l'aide de l'API Apps Script.
Configurer votre environnement
Dans les paramètres du tableau de bord Apps Script, activez l'API Apps Script.
Créez un projet Apps Script et attribuez-le à votre projet Cloud.
Créez un projet Apps Script autonome à partir du tableau de bord Apps Script ou en accédant à script.new.
Cliquez sur Paramètres du projet.
Dans la section Projet Google Cloud Platform (GCP), cliquez sur Changer de projet.
Saisissez le numéro de votre projet Cloud.
Cliquez sur Définir un projet.
Migrer des scripts
L'exemple de code suivant montre comment utiliser l'API Apps Script pour migrer des scripts identiques de Rhino vers V8 en remplaçant les fichiers de chaque projet Apps Script par un ensemble de fichiers compatibles avec V8.
Assurez-vous de disposer au moins d'un accès en tant qu'éditeur aux projets de script que vous prévoyez de migrer.
Code.gs
functionupdateRhinoScripts(){// An array of script IDs of script projects to migrate.// TODO(developer): Replace with your script IDs.constscriptIds=['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.constfilesToUpdate={"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);}functionupdateMultipleAppsScripts(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.constresponse=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
Pour utiliser l'API Apps Script dans votre projet Apps Script, vous devez ajouter les champs d'application OAuth suivants à votre fichier manifeste :
Pour afficher le fichier manifeste dans l'éditeur, cliquez sur Paramètres du projet, puis cochez la case Afficher le fichier manifeste "appsscript.json" dans l'éditeur. Voici un exemple de fichier manifeste avec les portées OAuth appropriées :
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/31 (UTC).
[null,null,["Dernière mise à jour le 2025/08/31 (UTC)."],[],[],null,["# Bulk migrate identical scripts from Rhino to V8\n\nThis page describes how to migrate identical scripts to V8 using\nApps Script and the Apps Script API.\n\nYou must migrate any scripts that use the Rhino runtime before Rhino is turned\ndown, happening on or after January 31, 2026. If you have multiple, identical\nscripts running on Rhino, you can migrate them to V8 all together using\nthe Apps Script API.\n\nSet up your environment\n-----------------------\n\n1. From the Apps Script dashboard settings, turn on the Apps Script API.\n 1. Go to the [Apps Script dashboard settings](https://script.google.com/home/usersettings).\n 2. If the API is turned off, click **Google Apps Script API**, then turn on the Google Apps Script API toggle.\n2. [Create a standard Google Cloud project](https://developers.google.com/workspace/guides/create-project#project) or reuse an existing project.\n3. In your Cloud project, [configure the OAuth consent screen](/workspace/guides/configure-oauth-consent).\n4. In your Cloud project, [turn on the Apps Script API](https://developers.google.com/workspace/guides/enable-apis).\n\n [Turn on the Apps Script API](https://console.cloud.google.com/flows/enableapi?apiid=script.googleapis.com)\n5. Create an Apps Script project and assign the\n Apps Script project to your Cloud project.\n\n 1. Create a standalone Apps Script project from the Apps Script dashboard or by going to [script.new](https://script.google.com/home/projects/create).\n 2. Click **Project Settings** .\n 3. In the **Google Cloud Platform (GCP) Project** section, click **Change project**.\n 4. Enter the project number of your Cloud project.\n 5. Click **Set project**.\n\nMigrate scripts\n---------------\n\nThe following code sample shows how to use the Apps Script API to\nmigrate identical scripts from Rhino to V8 by replacing the files in each\nApps Script project with a set of V8-compatible files.\n| **Important:** When you use the [`projects.UpdateContent`](/apps-script/api/reference/rest/v1/projects/updateContent) method of the Apps Script API, you must include all the files in the script project, even ones that you don't want to change. If you don't include a file, the file is deleted and can't be restored.\n\nMake sure you have at least editor access to the script projects you plan to\nmigrate. \n\n### Code.gs\n\n function updateRhinoScripts() {\n // An array of script IDs of script projects to migrate.\n // TODO(developer): Replace with your script IDs.\n const scriptIds = ['abcdef12345678', 'abcdef12345678'];\n // An array of file objects to replace the existing files in each script project.\n // Remember to include all files for the script, excluded files are deleted.\n // TODO(developer): Replace with your script files.\n const filesToUpdate = {\n \"files\": [\n {\n \"name\": \"Code\",\n \"type\": \"SERVER_JS\",\n \"source\": \"// New updates\\nfunction myFunction() {\\n console.log('Hello, world!');\\n}\"\n },\n {\n \"name\": \"appsscript\",\n \"type\": \"JSON\",\n \"source\": JSON.stringify({\n \"timeZone\": \"America/New_York\",\n \"dependencies\": {},\n \"exceptionLogging\": \"STACKDRIVER\",\n \"runtimeVersion\": \"V8\"\n })\n }\n ]\n };\n updateMultipleAppsScripts(scriptIds, filesToUpdate);\n }\n\n function updateMultipleAppsScripts(scriptIds, filesToUpdate) {\n // 'scriptIds' should be an array of script IDs\n // 'filesToUpdate' should be an array of objects, each with:\n // name: The filename (For example, \"Code\", \"Utilities\")\n // source: The source code for that file.\n scriptIds.forEach(function (scriptId) {\n // Makes the API request.\n const response = UrlFetchApp.fetch(\n `https://script.googleapis.com/v1/projects/${scriptId}/content`,\n {\n method: \"PUT\",\n headers: {\n Authorization: `Bearer ${ScriptApp.getOAuthToken()}`\n },\n contentType: \"application/json\",\n payload: JSON.stringify(filesToUpdate),\n muteHttpExceptions: true\n }\n );\n if (response.getResponseCode() !== 200) {\n console.log(`Error updating script ${scriptId}: ${response.getContentText()}`);\n } else {\n console.log(`Script ${scriptId} updated successfully!`);\n }\n });\n }\n\n### appsscript.json\n\nTo use the Apps Script API in your Apps Script\nproject, you must add the following OAuth scopes to your manifest file:\n\n- `\"https://www.googleapis.com/auth/script.projects\"`\n- `\"https://www.googleapis.com/auth/script.external_request\"`\n\nTo expose the manifest file in the editor, click **Project Settings**\n\nand check the **Show \"appsscript.json\" manifest file in editor** box. The\nfollowing is a sample manifest file with the appropriate OAuth scopes: \n\n {\n \"timeZone\": \"America/Denver\",\n \"dependencies\": {\n },\n \"oauthScopes\": [\n \"https://www.googleapis.com/auth/script.projects\",\n \"https://www.googleapis.com/auth/script.external_request\"\n ],\n \"exceptionLogging\": \"STACKDRIVER\",\n \"runtimeVersion\": \"V8\"\n }\n\nRelated topics\n--------------\n\n- [V8 runtime overview](/apps-script/guides/v8-runtime)\n- [Migrate scripts to the V8 runtime](/apps-script/guides/v8-runtime/migration)"]]