Apps Script प्रोजेक्ट सेट अप करना

Google Forms API को सीधे तौर पर REST कॉल के ज़रिए कॉल करने के लिए, Apps Script प्रोजेक्ट सेट अप करने के लिए कुछ चरणों को पूरा करना ज़रूरी है. मान लें कि आपने पहले ही Google Cloud प्रोजेक्ट कॉन्फ़िगर कर लिया है. इसके बाद, यह तरीका अपनाएं:

  1. नया Apps Script प्रोजेक्ट बनाएं.
  2. Google Cloud से जुड़े प्रोजेक्ट नंबर को बदलकर, उस प्रोजेक्ट से मैच करें जिसके लिए आपने Forms API चालू किया है.
  3. ज़रूरी OAuth स्कोप जोड़ने के लिए, मेनिफ़ेस्ट फ़ाइल (appsscript.json) में बदलाव करें.
  4. Apps Script कोड जोड़कर, OAuth टोकन पाएं और टोकन का इस्तेमाल करके REST कॉल करें.

नया Apps Script प्रोजेक्ट बनाना और उसे कॉन्फ़िगर करना

  1. Google Cloud प्रोजेक्ट को कॉन्फ़िगर करने के लिए इस्तेमाल किए गए Google खाते से, Apps Script डैशबोर्ड पर जाएं. इसके बाद, नया प्रोजेक्ट पर क्लिक करें.
  2. प्रोजेक्ट खुलने के बाद, प्रोजेक्ट सेटिंग पर क्लिक करें.
  3. मेनिफ़ेस्ट फ़ाइल "appsscript.json" एडिटर में दिखाएं चेकबॉक्स को चुनें.
  4. Google Cloud Platform (Google Cloud) प्रोजेक्ट सेक्शन में, प्रोजेक्ट बदलें पर क्लिक करें. इसके बाद, Google Cloud का वह प्रोजेक्ट नंबर डालें जिसे आपने Forms API के लिए कॉन्फ़िगर किया है.

आपका Apps Script प्रोजेक्ट अब Forms API को ऐक्सेस करने के लिए कॉन्फ़िगर हो गया है. अगला ज़रूरी चरण, OAuth के सही स्कोप जोड़ना है.

OAuth के दायरे जोड़ना

Apps Script में सही स्कोप वाला OAuth टोकन जनरेट करने के लिए, आपको प्रोजेक्ट की मेनिफ़ेस्ट फ़ाइल में ज़रूरी स्कोप सेट करने होंगे.

  1. एडिटर में, appsscript.json खोलें.
  2. मेनिफ़ेस्ट के मुख्य हिस्से में स्कोप जोड़ें.

    {
      ...
    "oauthScopes": [
        "https://www.googleapis.com/auth/script.external_request",
        "https://www.googleapis.com/auth/drive",
        "https://www.googleapis.com/auth/drive.readonly",
        "https://www.googleapis.com/auth/forms.body",
        "https://www.googleapis.com/auth/forms.body.readonly",
        "https://www.googleapis.com/auth/forms.responses.readonly"
      ],
     ...
     }
    
  3. प्रोजेक्ट सेव करें और अगर ज़रूरी हो, तो सिंटैक्स से जुड़ी गड़बड़ियां ठीक करें पर क्लिक करें. अब आपका प्रोजेक्ट, REST कॉल का इस्तेमाल करके Forms API को कॉल कर सकेगा.

एपीआई को कॉल करने के लिए, Apps Script कोड जोड़ना

किसी फ़ॉर्म को कॉल करने के लिए कोड लिखने से पहले, आपको उस फ़ॉर्म की पहचान करनी होगी जिसका मालिकाना हक आपके पास है और जिसमें जवाब मौजूद हैं. साथ ही, आपको उसके फ़ॉर्म आईडी को नोट करना होगा. फ़ॉर्म में बदलाव करते समय, यूआरएल में फ़ॉर्म आईडी देखा जा सकता है:

https://docs.google.com/forms/d/<FORM_ID>/edit

एपीआई को कॉल करने के लिए, Apps Script UrlFetchApp कॉल का इस्तेमाल किया जाएगा.

  1. Code.gs खोलें और यह कोड जोड़ें:

    forms-api/snippets/retrieve_all_responses.gs
    function callFormsAPI() {
      console.log("Calling the Forms API!");
      const formId = "<YOUR_FORM_ID>";
    
      // Get OAuth Token
      const OAuthToken = ScriptApp.getOAuthToken();
      console.log(`OAuth token is: ${OAuthToken}`);
    
      const formsAPIUrl = `https://forms.googleapis.com/v1/forms/${formId}/responses`;
      console.log(`formsAPIUrl is: ${formsAPIUrl}`);
    
      const options = {
        headers: {
          Authorization: `Bearer ${OAuthToken}`,
          Accept: "application/json",
        },
        method: "get",
      };
    
      const response = UrlFetchApp.fetch(formsAPIUrl, options);
      console.log(`Response from forms.responses was: ${response}`);
    }
  2. YOUR_FORM_ID को उस वैल्यू से बदलें जिसे आपने पहले नोट किया था.

    उदाहरण: var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';

  3. प्रोजेक्ट सेव करें पर क्लिक करें. अगर ज़रूरत हो, तो सिंटैक्स से जुड़ी गड़बड़ियां ठीक करें.

कोड की जांच करना

  1. Run पर क्लिक करें.
  2. पहले की तरह ही, उसी Google खाते का इस्तेमाल करके प्रोजेक्ट को ज़रूरी अनुमति दें.

यह प्रोसेस शुरू होने के बाद, आपको एक्ज़ीक्यूशन लॉग में इस तरह का जवाब दिखेगा:

Execution started
Calling the Forms API!
OAuth token is: ya29.a0ARrdaM8IMjtlv…
formsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses
Response from Forms.responses was: {
"responses": [
    {
      "responseId":"...",
      "createTime": "2021-03-25T01:23:58.146Z",
      "lastSubmittedTime": "2021-03-25T01:23:58.146607Z",
      "answers": {
        "1e9b0ead": {
          "questionId": "1e9b0ead",
          "textAnswers": {
            "answers": [
              {
                "value": "Red"
              }
            ]
          }
        },
        "773ed8f3": {
          "questionId": "773ed8f3",
          "textAnswers": {
            "answers": [
              {
                "value": "Tesla"
              }
            ]
          }
        }
      }
    }
  ]
}
Execution completed

अगले चरण

Apps Script की मदद से एपीआई को कॉल करने के बाद, रेफ़रंस दस्तावेज़ पढ़ें. साथ ही, एपीआई को अन्य कॉल करने का तरीका जानें.