Cette page explique comment migrer des scripts identiques vers V8 à l'aide de Google Apps Script et de l'API Apps Script.
L'environnement d'exécution Rhino a été désactivé le 31 janvier 2026 ou après cette date. Migrez tous les scripts qui utilisent l'environnement d'exécution Rhino avant cette date. Si vous avez plusieurs scripts identiques qui s'exécutent sur Rhino, migrez-les tous ensemble vers V8 à 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.
- Accédez aux paramètres du tableau de bord Apps Script.
- Si l'API est désactivée, cliquez sur API Apps Script, puis activez l'option API Apps Script.
- Créez un projet Google Cloud standard ou réutilisez un projet existant.
- Dans votre projet Cloud, configurez l'écran de consentement OAuth.
Dans votre projet Cloud, 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, 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.
Lorsque vous utilisez la méthode projects.UpdateContent de l'API Apps Script, incluez tous les fichiers du projet de script, même ceux que vous ne souhaitez pas modifier. Si vous n'incluez pas de fichier, il est supprimé et ne peut pas être restauré.
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
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
Pour utiliser l'API Apps Script dans votre projet Apps Script, ajoutez les champs d'application OAuth suivants à votre fichier manifeste :
"https://www.googleapis.com/auth/script.projects""https://www.googleapis.com/auth/script.external_request"
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 :
{
"timeZone": "America/Denver",
"dependencies": {
},
"oauthScopes": [
"https://www.googleapis.com/auth/script.projects",
"https://www.googleapis.com/auth/script.external_request"
],
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}
Articles associés
- Présentation de l'environnement d'exécution V8
- Migrer des scripts vers l'environnement d'exécution V8