একটি Apps স্ক্রিপ্ট প্রকল্প সেট আপ করুন৷

একটি REST কলের মাধ্যমে সরাসরি Google Forms API কল করার জন্য একটি Apps Script প্রকল্প সেট আপ করা সহজ। ধরে নিচ্ছি আপনি ইতিমধ্যে একটি Google ক্লাউড প্রকল্প কনফিগার করেছেন, নিম্নলিখিতগুলি করুন:

  1. একটি নতুন Apps স্ক্রিপ্ট প্রকল্প তৈরি করুন৷
  2. Google ফর্ম API-এর জন্য আপনি যে প্রকল্পটি সক্ষম করেছেন তার সাথে মেলে সংশ্লিষ্ট Google ক্লাউড প্রকল্প নম্বরটি পরিবর্তন করুন৷
  3. প্রয়োজনীয় OAuth স্কোপ যোগ করতে ম্যানিফেস্ট ফাইল ( appsscript.json ) সম্পাদনা করুন।
  4. একটি OAuth টোকেন আনতে Apps স্ক্রিপ্ট কোড যোগ করুন এবং টোকেন ব্যবহার করে একটি REST কল করুন।

এই ধাপগুলির একটি দ্রুত ওয়াকথ্রু এখানে।

একটি নতুন Apps স্ক্রিপ্ট প্রকল্প তৈরি এবং কনফিগার করুন৷

  1. একই Google ID ব্যবহার করে যেটি দিয়ে আপনি আপনার GCP প্রকল্প কনফিগার করেছেন, Apps Script ড্যাশবোর্ডে যান, তারপর নতুন প্রকল্পে ক্লিক করুন।
  2. আপনার প্রজেক্ট ওপেন হয়ে গেলে, প্রজেক্ট ক্লিক করুন।
  3. সম্পাদক চেকবক্সে "appsscript.json" ম্যানিফেস্ট ফাইল দেখান নির্বাচন করুন।
  4. Google ক্লাউড প্ল্যাটফর্ম (GCP) প্রকল্প বিভাগে, প্রকল্প পরিবর্তন করুন ক্লিক করুন এবং আপনি ফর্ম API-এর জন্য কনফিগার করেছেন এমন GCP প্রকল্প নম্বর লিখুন৷

আপনার Apps স্ক্রিপ্ট প্রজেক্ট এখন Google Forms API অ্যাক্সেস করার জন্য কনফিগার করা হয়েছে। পরবর্তী প্রয়োজনীয় ধাপ হল সঠিক OAuth স্কোপ যোগ করা।

OAuth স্কোপ যোগ করুন

Apps স্ক্রিপ্টে একটি সঠিকভাবে স্কোপযুক্ত 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 ফর্ম API-কে কল করতে সক্ষম হওয়া উচিত৷

API কল করতে Apps স্ক্রিপ্ট কোড যোগ করুন

একটি ফর্ম কল করার জন্য কোডটি লেখার আগে, আপনাকে আপনার মালিকানাধীন একটি ফর্ম শনাক্ত করতে হবে যার প্রতিক্রিয়া আছে এবং এটির ফর্ম আইডি নোট করতে হবে৷ ফর্মটি সম্পাদনা করার সময় ফর্ম আইডি URL-এ পাওয়া যাবে:

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

API কল করতে, আপনি একটি 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. Run এ ক্লিক করুন।
  2. আগের মতো একই Google ID ব্যবহার করে প্রয়োজন অনুযায়ী প্রকল্প অনুমোদন করুন।

একবার এটি শুরু হলে, আপনি এর মতো এক্সিকিউশন লগে একটি প্রতিক্রিয়া দেখতে পাবেন:

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 স্ক্রিপ্ট সহ API কল করলে, রেফারেন্স ডকুমেন্টেশনের সাথে পরামর্শ করুন এবং API-তে অন্যান্য কল করার সাথে পরীক্ষা করুন৷