Apps Script फ़ंक्शन को लागू करना

Apps Script API (पहले इसे Apps Script Execution API कहा जाता था) की मदद से, किसी ऐसे स्क्रिप्ट प्रोजेक्ट में फ़ंक्शन को रिमोटली लागू किया जा सकता है जिसे ऐक्सेस करने की अनुमति आपके पास है. आपका ऐप्लिकेशन, Apps Script के किसी फ़ंक्शन को कॉल कर सकता है. साथ ही, ज़रूरत पड़ने पर उसे इनपुट पैरामीटर दे सकता है और बदले में जवाब पा सकता है.

इस पेज पर दिए गए उदाहरणों से पता चलता है कि एपीआई की मदद से, सामान्य तौर पर की जाने वाली कुछ कार्रवाइयां कैसे की जा सकती हैं. ज़्यादा जानकारी के लिए, खास अनुमति से जुड़ी ज़रूरी शर्तों के साथ-साथ, फ़ंक्शन लागू करना गाइड देखें.

इन उदाहरणों में, scriptId प्लेसहोल्डर का इस्तेमाल यह दिखाने के लिए किया गया है कि आपको स्क्रिप्ट प्रोजेक्ट आईडी कहां देना है. स्क्रिप्ट आईडी ढूंढने के लिए, यहां दिया गया तरीका अपनाएं:

  1. Apps Script प्रोजेक्ट में, सबसे ऊपर बाईं ओर मौजूद, प्रोजेक्ट सेटिंग पर क्लिक करें.
  2. "स्क्रिप्ट आईडी" के बगल में मौजूद, कॉपी करें पर क्लिक करें.

एक फ़ंक्शन निष्पादित करें

यहां दिए गए scripts.run अनुरोध में, listFolderContent नाम के Apps Script फ़ंक्शन को कॉल किया गया है. इसमें Drive folderId और पूर्णांक MAX_SIZE को आर्ग्युमेंट के तौर पर पास किया गया है. यह फ़ंक्शन डेवलपमेंट मोड में एक्ज़ीक्यूट होता है. इसका मतलब है कि फ़ंक्शन का हाल ही में सेव किया गया वर्शन एक्ज़ीक्यूट होता है. भले ही, एक्ज़ीक्यूटेबल के तौर पर कोई भी वर्शन डिप्लॉय किया गया हो.

अनुरोध का प्रोटोकॉल यहां दिखाया गया है. फ़ंक्शन लागू करना गाइड में बताया गया है कि Google API क्लाइंट लाइब्रेरी का इस्तेमाल करके, अलग-अलग भाषाओं में रन करने का अनुरोध कैसे लागू किया जाता है.

POST https://script.googleapis.com/v1/scripts/scriptId:run
{
  "function": "listFolderContent",
  "parameters": [
    folderId,
    MAX_SIZE
  ],
  "devMode": true
}

जब कॉल किया गया Apps Script फ़ंक्शन पूरा हो जाता है, तो इस अनुरोध का जवाब मिलता है. इसमें स्क्रिप्ट के एक्ज़ीक्यूशन के नतीजे या गड़बड़ी का जवाब शामिल होता है. इस उदाहरण में, फ़ंक्शन फ़ाइल के नामों का एक अरे दिखाता है:

{
  "response": {
    "result": [
      "fileTitle1",
      "fileTitle2",
      "fileTitle3"
    ]
  },
}

अगर Apps Script को लागू करते समय फ़ंक्शन में कोई गड़बड़ी हुई है, तो जवाब इस तरह दिख सकता है:

{
  "response": {
    "error": {
      "code": 3,
      "message": "ScriptError",
      "details": [{
        "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError",
        "errorMessage": "The script enountered an exeception it could not resolve.",
        "errorType": "ScriptError",
        "scriptStackTraceElements": [{
          "function": "listFolderContent",
          "lineNumber": 14
        }]
      }]
    }
  }
}