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 टोकन फ़ेच करने और टोकन का इस्तेमाल करके REST कॉल करने के लिए, Apps Script कोड जोड़ें.

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

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

  1. उसी Google आईडी का इस्तेमाल करके Apps Script डैशबोर्ड पर जाएं जिसका इस्तेमाल करके आपने अपना GCP प्रोजेक्ट कॉन्फ़िगर किया था. इसके बाद, नया प्रोजेक्ट पर क्लिक करें.
  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 की मदद से एपीआई को कॉल करने के बाद, रेफ़रंस दस्तावेज़ देखें और एपीआई को अन्य कॉल करने के साथ प्रयोग करें.