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

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

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

इन चरणों के बारे में यहां खास जानकारी दी गई है.

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

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

अब आपके Apps Script प्रोजेक्ट को Google 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 कॉल के ज़रिए Google 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 log में इस तरह का जवाब दिखेगा:

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 की मदद से एपीआई को कॉल करने के बाद, रेफ़रंस दस्तावेज़ देखें. साथ ही, एपीआई को अन्य कॉल करने का तरीका आज़माएं.