জাভাস্ক্রিপ্ট কোড নমুনা

নীচের কোড নমুনা JavaScript এর জন্য Google APIs ক্লায়েন্ট লাইব্রেরি ব্যবহার করে। আপনি GitHub-এ YouTube API কোড নমুনা সংগ্রহস্থলের javascript ফোল্ডার থেকে এই নমুনাটি ডাউনলোড করতে পারেন।

কোডটি https://www.googleapis.com/auth/yt-analytics.readonly স্কোপ অ্যাক্সেস করার জন্য ব্যবহারকারীর অনুমতির অনুরোধ করে।

return gapi.auth2.getAuthInstance()
    .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})
    ...

আপনার অ্যাপ্লিকেশনটিকে অন্যান্য স্কোপে অ্যাক্সেসের অনুরোধ করতে হতে পারে। উদাহরণস্বরূপ, একটি অ্যাপ্লিকেশন যা YouTube Analytics API এবং YouTube Data API কল করে ব্যবহারকারীদের তাদের YouTube অ্যাকাউন্টগুলিতে অ্যাক্সেস দেওয়ার প্রয়োজন হতে পারে৷ অনুমোদন ওভারভিউ সাধারণত ইউটিউব অ্যানালিটিক্স API কল করে এমন অ্যাপ্লিকেশনগুলিতে ব্যবহৃত স্কোপগুলি সনাক্ত করে৷

দৈনিক চ্যানেল পরিসংখ্যান পুনরুদ্ধার করুন

এই উদাহরণটি 2017 ক্যালেন্ডার বছরের জন্য অনুমোদিত ব্যবহারকারীর চ্যানেলের দৈনিক ভিউ এবং অন্যান্য মেট্রিক্স পুনরুদ্ধার করতে YouTube Analytics API-কে কল করে৷ নমুনাটি Google APIs JavaScript ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।

অনুমোদনের শংসাপত্র সেট আপ করুন

প্রথমবারের জন্য স্থানীয়ভাবে এই নমুনা চালানোর আগে, আপনাকে আপনার প্রকল্পের জন্য অনুমোদনের শংসাপত্র সেট আপ করতে হবে:

  1. Google API কনসোলে একটি প্রকল্প তৈরি করুন বা নির্বাচন করুন।
  2. আপনার প্রকল্পের জন্য YouTube Analytics API সক্ষম করুন৷
  3. শংসাপত্র পৃষ্ঠার শীর্ষে, OAuth সম্মতি স্ক্রিন ট্যাবটি নির্বাচন করুন। একটি ইমেল ঠিকানা নির্বাচন করুন, ইতিমধ্যে সেট না থাকলে একটি পণ্যের নাম লিখুন এবং সংরক্ষণ বোতামে ক্লিক করুন৷
  4. শংসাপত্র পৃষ্ঠায়, শংসাপত্র তৈরি করুন বোতামে ক্লিক করুন এবং Oauth ক্লায়েন্ট আইডি নির্বাচন করুন।
  5. অ্যাপ্লিকেশন টাইপ ওয়েব অ্যাপ্লিকেশন নির্বাচন করুন.
  6. অনুমোদিত জাভাস্ক্রিপ্ট অরিজিন ফিল্ডে, যে ইউআরএল থেকে আপনি কোড নমুনা পরিবেশন করবেন সেটি লিখুন। উদাহরণস্বরূপ, আপনি http://localhost:8000 বা http://yourserver.example.com এর মত কিছু ব্যবহার করতে পারেন। আপনি অনুমোদিত পুনঃনির্দেশ ইউআরআই ক্ষেত্রটি ফাঁকা রাখতে পারেন।
  7. আপনার শংসাপত্র তৈরি করা শেষ করতে তৈরি করুন বোতামে ক্লিক করুন।
  8. ডায়ালগ বক্স বন্ধ করার আগে, ক্লায়েন্ট আইডিটি অনুলিপি করুন, যা আপনাকে কোড নমুনায় রাখতে হবে।

নমুনার একটি স্থানীয় অনুলিপি তৈরি করুন

তারপরে, একটি স্থানীয় ফাইলে নমুনাটি সংরক্ষণ করুন। নমুনায়, নিম্নলিখিত লাইনটি খুঁজুন এবং আপনার অনুমোদনের শংসাপত্র সেট আপ করার সময় আপনার প্রাপ্ত ক্লায়েন্ট আইডি দিয়ে YOUR_CLIENT_ID প্রতিস্থাপন করুন।

gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});

কোড চালান

এখন, আপনি আসলে নমুনা পরীক্ষা করার জন্য প্রস্তুত:

  1. একটি ওয়েব ব্রাউজার থেকে স্থানীয় ফাইলটি খুলুন এবং ব্রাউজারে ডিবাগিং কনসোলটি খুলুন। আপনি একটি পৃষ্ঠা দেখতে হবে যা দুটি বোতাম প্রদর্শন করে।
  2. ব্যবহারকারীর অনুমোদন প্রবাহ চালু করতে অনুমোদন এবং লোড বোতামে ক্লিক করুন। আপনি যদি অ্যাপটিকে আপনার চ্যানেলের ডেটা পুনরুদ্ধার করার অনুমতি দেন, তাহলে আপনাকে ব্রাউজারে কনসোলে প্রিন্ট করার জন্য নিম্নলিখিত লাইনগুলি দেখতে হবে:
    Sign-in successful
    GAPI client loaded for API
  3. আপনি যদি উপরের লাইনের পরিবর্তে একটি ত্রুটি বার্তা দেখতে পান, তাহলে নিশ্চিত করুন যে আপনি অনুমোদিত রিডাইরেক্ট ইউআরআই থেকে স্ক্রিপ্টটি লোড করছেন যা আপনি আপনার প্রকল্পের জন্য সেট আপ করেছেন এবং আপনি উপরে বর্ণিত কোডে আপনার ক্লায়েন্ট আইডি রেখেছেন।
  4. API কল করতে এক্সিকিউট বোতামে ক্লিক করুন। আপনি ব্রাউজারে কনসোলে একটি response বস্তু মুদ্রণ দেখতে হবে। সেই অবজেক্টে, result সম্পত্তি এমন একটি বস্তুতে ম্যাপ করে যাতে API ডেটা থাকে।

কোডের উদাহরণ

<script src="https://apis.google.com/js/api.js"></script>
<script>
  function authenticate() {
    return gapi.auth2.getAuthInstance()
        .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})
        .then(function() { console.log("Sign-in successful"); },
              function(err) { console.error("Error signing in", err); });
  }
  function loadClient() {
    return gapi.client.load("https://youtubeanalytics.googleapis.com/$discovery/rest?version=v2")
        .then(function() { console.log("GAPI client loaded for API"); },
              function(err) { console.error("Error loading GAPI client for API", err); });
  }
  // Make sure the client is loaded and sign-in is complete before calling this method.
  function execute() {
    return gapi.client.youtubeAnalytics.reports.query({
      "ids": "channel==MINE",
      "startDate": "2017-01-01",
      "endDate": "2017-12-31",
      "metrics": "views,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,subscribersGained",
      "dimensions": "day",
      "sort": "day"
    })
        .then(function(response) {
                // Handle the results here (response.result has the parsed body).
                console.log("Response", response);
              },
              function(err) { console.error("Execute error", err); });
  }
  gapi.load("client:auth2", function() {
    gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});
  });
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>