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
        }]
      }]
    }
  }
}