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

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

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

यहां इन चरणों के बारे में कदम-दर-कदम निर्देश दिया गया है.

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

  1. आपने जिस Google आईडी के साथ अपना GCP प्रोजेक्ट कॉन्फ़िगर किया है उसी Google आईडी का इस्तेमाल करके, 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!');
      var formId = '<YOUR_FORM_ID>';
    
      // Get OAuth Token
     var OAuthToken = ScriptApp.getOAuthToken();
     console.log('OAuth token is: ' + OAuthToken);
     var formsAPIUrl = 'https://forms.googleapis.com/v1/forms/' + formId + '/' + 'responses';
     console.log('formsAPIUrl is: ' + formsAPIUrl);
     var options = {
        'headers': {
          Authorization: 'Bearer ' + OAuthToken,
          Accept: 'application/json'
        },
        'method': 'get'
      };  
    var response = UrlFetchApp.fetch(formsAPIUrl, options);
     console.log('Response from forms.responses was: ' + response);
    }
  2. YOUR_FORM_ID को उस वैल्यू से बदलें जिसे आपने पहले नोट किया था.

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

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

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

  1. चलाएं पर क्लिक करें.
  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 के साथ एपीआई को कॉल करने के बाद, पहचान फ़ाइल से जुड़े दस्तावेज़ देखें और एपीआई का इस्तेमाल करके दूसरे कॉल करने के लिए प्रयोग करें.