एक जैसी स्क्रिप्ट को एक साथ Rhino से V8 पर माइग्रेट करना

इस पेज पर, Google Apps Script और Apps Script API का इस्तेमाल करके, एक जैसी स्क्रिप्ट को V8 पर माइग्रेट करने का तरीका बताया गया है.

Rhino रनटाइम 31 जनवरी, 2026 को या इसके बाद बंद कर दिया गया था. उस तारीख से पहले, Rhino रनटाइम का इस्तेमाल करने वाली सभी स्क्रिप्ट माइग्रेट करें. अगर आपके पास Rhino पर एक जैसी कई स्क्रिप्ट चल रही हैं, तो Apps Script API का इस्तेमाल करके, उन सभी को एक साथ V8 पर माइग्रेट करें.

अपना एनवायरमेंट सेट अप करने का तरीका

  1. Apps Script डैशबोर्ड की सेटिंग में जाकर, Apps Script API चालू करें.
    1. Apps Script डैशबोर्ड की सेटिंग पर जाएं.
    2. अगर एपीआई बंद है, तो Apps Script API पर क्लिक करें. इसके बाद, Apps Script API टॉगल को चालू करें.
  2. एक स्टैंडर्ड Google Cloud प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें.
  3. अपने Cloud प्रोजेक्ट में, उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है.
  4. अपने Cloud प्रोजेक्ट में, Apps Script API चालू करें.

    Apps Script API चालू करना

  5. Apps Script प्रोजेक्ट बनाएं और उसे अपने Cloud प्रोजेक्ट को असाइन करें.

    1. Apps Script डैशबोर्ड से या script.new पर जाकर, स्टैंडअलोन Apps Script प्रोजेक्ट बनाएं.
    2. प्रोजेक्ट सेटिंग प्रोजेक्ट सेटिंग का आइकॉन पर क्लिक करें.
    3. Google Cloud प्रोजेक्ट सेक्शन में जाकर, प्रोजेक्ट बदलें पर क्लिक करें.
    4. अपने क्लाउड प्रोजेक्ट का प्रोजेक्ट नंबर डालें.
    5. प्रोजेक्ट सेट करें पर क्लिक करें.

स्क्रिप्ट माइग्रेट करना

नीचे दिए गए कोड सैंपल में, Apps Script API का इस्तेमाल करके, एक जैसी स्क्रिप्ट को Rhino से V8 पर माइग्रेट करने का तरीका बताया गया है. इसके लिए, हर Apps Script प्रोजेक्ट में मौजूद फ़ाइलों को V8 के साथ काम करने वाली फ़ाइलों के सेट से बदलें.

Apps Script API के projects.UpdateContent तरीके का इस्तेमाल करते समय, स्क्रिप्ट प्रोजेक्ट में मौजूद सभी फ़ाइलों को शामिल करें. भले ही, आपको उनमें बदलाव न करना हो. अगर कोई फ़ाइल शामिल नहीं की जाती है, तो उसे मिटा दिया जाता है. साथ ही, उसे वापस नहीं लाया जा सकता.

पक्का करें कि आपके पास उन स्क्रिप्ट प्रोजेक्ट के लिए कम से कम एडिटर का ऐक्सेस हो जिन्हें आपको माइग्रेट करना है.

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

अपने Apps Script प्रोजेक्ट में Apps Script API का इस्तेमाल करने के लिए, अपनी मेनिफ़ेस्ट फ़ाइल में ये OAuth स्कोप जोड़ें:

  • "https://www.googleapis.com/auth/script.projects"
  • "https://www.googleapis.com/auth/script.external_request"

मेनिफ़ेस्ट फ़ाइल को एडिटर में दिखाने के लिए, प्रोजेक्ट सेटिंग प्रोजेक्ट सेटिंग का आइकॉन पर क्लिक करें. इसके बाद, मेनिफ़ेस्ट फ़ाइल "appsscript.json" को एडिटर में दिखाएं बॉक्स पर सही का निशान लगाएं. यहां सही 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"
}