Reports: Query

গুরুত্বপূর্ণ: এই পদ্ধতিতে API অনুরোধের জন্য এখন https://www.googleapis.com/auth/youtube.readonly স্কোপে অ্যাক্সেস প্রয়োজন।

এই পদ্ধতিটি আপনাকে বিভিন্ন অ্যানালিটিক্স রিপোর্ট পুনরুদ্ধার করতে দেয়। প্রতিটি অনুরোধ একটি চ্যানেল আইডি বা বিষয়বস্তুর মালিক, একটি শুরুর তারিখ, একটি সমাপ্তির তারিখ এবং অন্তত একটি মেট্রিক নির্দিষ্ট করতে ক্যোয়ারী প্যারামিটার ব্যবহার করে৷ এছাড়াও আপনি অতিরিক্ত ক্যোয়ারী প্যারামিটার প্রদান করতে পারেন, যেমন মাত্রা, ফিল্টার এবং সাজানোর নির্দেশাবলী।

  • মেট্রিক্স হল ব্যবহারকারীর কার্যকলাপের পৃথক পরিমাপ, যেমন ভিডিও ভিউ বা রেটিং (পছন্দ এবং অপছন্দ)।
  • মাত্রাগুলি হল সাধারণ মানদণ্ড যা ডেটা একত্রিত করতে ব্যবহৃত হয়, যেমন ব্যবহারকারীর কার্যকলাপের তারিখ বা ব্যবহারকারীরা যে দেশে অবস্থিত ছিল। একটি প্রতিবেদনে, ডেটার প্রতিটি সারিতে মাত্রা মানগুলির একটি অনন্য সমন্বয় রয়েছে।
  • ফিল্টার হল মাত্রার মান যা পুনরুদ্ধার করা ডেটা নির্দিষ্ট করে। উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট দেশ, একটি নির্দিষ্ট ভিডিও বা ভিডিওগুলির একটি গোষ্ঠীর জন্য ডেটা পুনরুদ্ধার করতে পারেন৷

দ্রষ্টব্য: বিষয়বস্তুর মালিকের প্রতিবেদনগুলি শুধুমাত্র YouTube সামগ্রী অংশীদারদের কাছে অ্যাক্সেসযোগ্য যারা YouTube অংশীদার প্রোগ্রামে অংশগ্রহণ করে৷

সাধারণ ব্যবহারের ক্ষেত্রে

অনুরোধ

HTTP অনুরোধ

GET https://youtubeanalytics.googleapis.com/v2/reports

সমস্ত YouTube Analytics API অনুরোধ অনুমোদিত হতে হবে। অনুমোদন নির্দেশিকা ব্যাখ্যা করে কিভাবে অনুমোদন টোকেন পুনরুদ্ধার করতে OAuth 2.0 প্রোটোকল ব্যবহার করতে হয়।

YouTube Analytics API অনুরোধগুলি নিম্নলিখিত অনুমোদনের সুযোগগুলি ব্যবহার করে:

স্কোপ
https://www.googleapis.com/auth/yt-analytics.readonly আপনার YouTube সামগ্রীর জন্য YouTube বিশ্লেষণ প্রতিবেদনগুলি দেখুন৷ এই সুযোগ ব্যবহারকারীর কার্যকলাপ মেট্রিক্সে অ্যাক্সেস প্রদান করে, যেমন ভিউ সংখ্যা এবং রেটিং গণনা।
https://www.googleapis.com/auth/yt-analytics-monetary.readonly আপনার YouTube বিষয়বস্তুর জন্য YouTube Analytics আর্থিক প্রতিবেদনগুলি দেখুন৷ এই সুযোগ ব্যবহারকারী কার্যকলাপ মেট্রিক্স এবং আনুমানিক আয় এবং বিজ্ঞাপন কর্মক্ষমতা মেট্রিক্স অ্যাক্সেস প্রদান করে.
https://www.googleapis.com/auth/youtube আপনার YouTube অ্যাকাউন্ট পরিচালনা করুন। ইউটিউব অ্যানালিটিক্স এপিআই-এ, চ্যানেল মালিকরা ইউটিউব অ্যানালিটিক্স গ্রুপ এবং গ্রুপ আইটেমগুলি পরিচালনা করতে এই সুযোগটি ব্যবহার করে।
https://www.googleapis.com/auth/youtubepartner YouTube এ YouTube সম্পদ এবং সংশ্লিষ্ট বিষয়বস্তু দেখুন ও পরিচালনা করুন। ইউটিউব অ্যানালিটিক্স এপিআই-এ, কন্টেন্ট মালিকরা ইউটিউব অ্যানালিটিক্স গ্রুপ এবং গ্রুপ আইটেমগুলি পরিচালনা করতে এই সুযোগটি ব্যবহার করে।

পরামিতি

ক্যোয়ারী রিপোর্ট পুনরুদ্ধার করার জন্য API অনুরোধের জন্য নিম্নলিখিত টেবিলের তালিকা প্রয়োজনীয় এবং ঐচ্ছিক ক্যোয়ারী প্যারামিটার। টেবিলে তালিকাভুক্ত স্ট্যান্ডার্ড ক্যোয়ারী প্যারামিটারগুলিও ঐচ্ছিক এবং অনেকগুলি Google API দ্বারা সমর্থিত৷

পরামিতি
প্রয়োজনীয় পরামিতি
endDate string
YouTube Analytics ডেটা আনার শেষ তারিখ। মানটি YYYY-MM-DD ফর্ম্যাটে হওয়া উচিত।

এপিআই প্রতিক্রিয়াতে শেষ দিন পর্যন্ত ডেটা থাকে যার জন্য ক্যোয়ারীটির সমস্ত মেট্রিক কোয়েরির সময়ে উপলব্ধ থাকে। সুতরাং, উদাহরণস্বরূপ, যদি অনুরোধটি 5 জুলাই, 2017-এর একটি শেষ তারিখ উল্লেখ করে এবং অনুরোধ করা সমস্ত মেট্রিকের মান শুধুমাত্র 3 জুলাই, 2017-এর মধ্যে উপলব্ধ থাকে, তাহলে সেটিই হবে শেষ তারিখ যার জন্য প্রতিক্রিয়াতে ডেটা অন্তর্ভুক্ত করা হয়েছে৷ (যদিও অনুরোধ করা কিছু মেট্রিক্সের ডেটা 4 জুলাই, 2017-এর জন্য পাওয়া যায় তাহলেও এটি সত্য।)
দ্রষ্টব্য: API-এর সংস্করণ 1-এ, এই প্যারামিটারটির নামকরণ করা হয়েছিল end-date
ids string
YouTube চ্যানেল বা বিষয়বস্তুর মালিককে চিহ্নিত করে যার জন্য আপনি YouTube Analytics ডেটা পুনরুদ্ধার করছেন।

  • একটি YouTube চ্যানেলের জন্য ডেটার জন্য অনুরোধ করতে, ids প্যারামিটার মানটিকে channel==MINE বা channel== CHANNEL_ID তে সেট করুন, যেখানে CHANNEL_ID বর্তমানে প্রমাণীকৃত ব্যবহারকারীর YouTube চ্যানেল সনাক্ত করে৷
  • একটি YouTube বিষয়বস্তুর মালিকের জন্য ডেটা অনুরোধ করতে, ids প্যারামিটার মান সেট করুন contentOwner== OWNER_NAME , যেখানে OWNER_NAME হল ব্যবহারকারীর জন্য content owner ID

metrics string
YouTube Analytics মেট্রিক্সের একটি কমা দ্বারা পৃথক করা তালিকা, যেমন views বা likes,dislikes । আপনি যে রিপোর্টগুলি পুনরুদ্ধার করতে পারেন এবং প্রতিটি রিপোর্টে উপলব্ধ মেট্রিক্সের তালিকার জন্য চ্যানেল রিপোর্ট বা বিষয়বস্তু মালিকের রিপোর্টের ডকুমেন্টেশন দেখুন। ( মেট্রিক্স নথিতে সমস্ত মেট্রিকের সংজ্ঞা রয়েছে।)
startDate string
YouTube Analytics ডেটা আনার শুরুর তারিখ৷ মানটি YYYY-MM-DD ফর্ম্যাটে হওয়া উচিত।
দ্রষ্টব্য: API-এর 1 সংস্করণে, এই প্যারামিটারটির নাম দেওয়া হয়েছিল start-date
ঐচ্ছিক পরামিতি
currency string
API নিম্নলিখিত আনুমানিক আয়ের মেট্রিক্স নির্দিষ্ট করতে যে মুদ্রা ব্যবহার করবে: আনুমানিক রেভিনিউ , আনুমানিকAdRevenue , আনুমানিকRedPartnerRevenue , grossRevenue , cpm , playbackBasedCpm । এপিআই সেই মেট্রিক্সের জন্য যে মানগুলি প্রদান করে তা হল আনুমানিক গণনা করা বিনিময় হার ব্যবহার করে যা প্রতিদিন পরিবর্তিত হয়। যদি এই মেট্রিক্সগুলির একটিও অনুরোধ না করা হয়, তাহলে প্যারামিটার উপেক্ষা করা হয়।

প্যারামিটার মান হল নিচের মুদ্রার তালিকা থেকে একটি তিন-অক্ষরের ISO 4217 মুদ্রা কোড। একটি অসমর্থিত মুদ্রা নির্দিষ্ট করা হলে API একটি ত্রুটি প্রদান করে। ডিফল্ট মান হল USD

dimensions string
YouTube বিশ্লেষণের মাত্রাগুলির একটি কমা দ্বারা পৃথক করা তালিকা, যেমন video বা ageGroup,gender ৷ আপনি যে রিপোর্টগুলি পুনরুদ্ধার করতে পারেন এবং সেই রিপোর্টগুলির জন্য ব্যবহৃত মাত্রাগুলির একটি তালিকার জন্য চ্যানেল রিপোর্ট বা বিষয়বস্তু মালিকের রিপোর্টগুলির জন্য ডকুমেন্টেশন দেখুন৷ ( মাত্রা নথিতে সমস্ত মাত্রার সংজ্ঞা রয়েছে।)
filters string
YouTube Analytics ডেটা পুনরুদ্ধার করার সময় ফিল্টারগুলির একটি তালিকা যা প্রয়োগ করা উচিত৷ চ্যানেল রিপোর্ট এবং বিষয়বস্তুর মালিকের প্রতিবেদনের ডকুমেন্টেশন সেই মাত্রাগুলিকে চিহ্নিত করে যা প্রতিটি রিপোর্ট ফিল্টার করতে ব্যবহার করা যেতে পারে এবং মাত্রা নথি সেই মাত্রাগুলিকে সংজ্ঞায়িত করে৷

যদি একটি অনুরোধ একাধিক ফিল্টার ব্যবহার করে, একটি সেমিকোলন ( ; ) দিয়ে সেগুলিকে একত্রে যোগ করুন এবং প্রত্যাবর্তিত ফলাফল সারণী উভয় ফিল্টারকে সন্তুষ্ট করবে৷ উদাহরণস্বরূপ, ভিডিওর filters প্যারামিটার মান video==dMH0bHeiRNg;country==IT ইতালিতে প্রদত্ত ভিডিওর জন্য ডেটা অন্তর্ভুক্ত করতে ফলাফল সেটকে সীমাবদ্ধ করে।

একটি ফিল্টারের জন্য একাধিক মান নির্দিষ্ট করা

API video , playlist এবং channel ফিল্টারগুলির জন্য একাধিক মান নির্দিষ্ট করার ক্ষমতা সমর্থন করে৷ এটি করতে, ভিডিও, প্লেলিস্ট বা চ্যানেল আইডিগুলির একটি পৃথক তালিকা নির্দিষ্ট করুন যার জন্য API প্রতিক্রিয়া ফিল্টার করা উচিত৷ উদাহরণস্বরূপ, ভিডিওর filters প্যারামিটার মান video==pd1FJh59zxQ,Zhawgd0REhA;country==IT ইতালিতে প্রদত্ত ভিডিওগুলির ডেটা অন্তর্ভুক্ত করতে ফলাফল সেটকে সীমাবদ্ধ করে। প্যারামিটার মান 500 আইডি পর্যন্ত নির্দিষ্ট করতে পারে।

একই ফিল্টারের জন্য একাধিক মান নির্দিষ্ট করার সময়, আপনি অনুরোধের জন্য নির্দিষ্ট করা মাত্রার তালিকায় সেই ফিল্টারটিকেও যোগ করতে পারেন। ফিল্টারটি একটি নির্দিষ্ট প্রতিবেদনের জন্য সমর্থিত মাত্রা হিসাবে তালিকাভুক্ত না হলেও এটি সত্য। আপনি যদি মাত্রার তালিকায় ফিল্টার যোগ করেন, তাহলে এপিআই গ্রুপ ফলাফলে ফিল্টার মান ব্যবহার করে।

উদাহরণ স্বরূপ, ধরুন আপনি একটি চ্যানেলের ট্রাফিক সোর্স রিপোর্ট পুনরুদ্ধার করেছেন, যা দর্শকরা যেভাবে চ্যানেলের ভিডিও সামগ্রীতে পৌঁছেছে তার উপর ভিত্তি করে দেখার পরিসংখ্যান একত্রিত করে৷ এছাড়াও মনে করুন যে আপনার অনুরোধের filters প্যারামিটার অনুরোধ 10টি ভিডিওর একটি তালিকা চিহ্নিত করে যার জন্য ডেটা ফেরত দিতে হবে।
  • আপনি যদি dimensions প্যারামিটারের মানের সাথে video যোগ করেন, তাহলে API প্রতিক্রিয়া 10টি ভিডিওর প্রতিটির জন্য পৃথক ট্র্যাফিক সোর্স পরিসংখ্যান প্রদান করবে।
  • আপনি যদি dimensions প্যারামিটারের মানের সাথে video যোগ না করেন, তাহলে API প্রতিক্রিয়া 10টি ভিডিওর সবকটির জন্য ট্রাফিক সোর্স পরিসংখ্যানকে একত্রিত করবে।
includeHistoricalChannelData boolean
দ্রষ্টব্য: এই প্যারামিটারটি শুধুমাত্র বিষয়বস্তুর মালিকের প্রতিবেদনে প্রযোজ্য।

এপিআই প্রতিক্রিয়াতে চ্যানেলগুলির দেখার সময় অন্তর্ভুক্ত করা উচিত কিনা এবং চ্যানেলগুলি সামগ্রীর মালিকের সাথে লিঙ্ক করা হওয়ার পূর্বের সময়কালের ডেটা অন্তর্ভুক্ত করা উচিত কিনা তা নির্দেশ করে৷ ডিফল্ট প্যারামিটার মান false যার মানে API প্রতিক্রিয়া শুধুমাত্র দেখার সময় এবং চ্যানেলগুলি বিষয়বস্তুর মালিকের সাথে লিঙ্ক করা হয়েছে সেই তারিখগুলি থেকে দেখার ডেটা অন্তর্ভুক্ত করে৷

এটা মনে রাখা গুরুত্বপূর্ণ যে বিভিন্ন চ্যানেল বিভিন্ন তারিখে একটি বিষয়বস্তুর মালিকের সাথে লিঙ্ক করা হতে পারে। যদি API অনুরোধ একাধিক চ্যানেলের জন্য ডেটা পুনরুদ্ধার করে এবং প্যারামিটার মান false হয়, তাহলে API প্রতিক্রিয়া প্রতিটি চ্যানেলের জন্য লিঙ্ক করার তারিখের উপর ভিত্তি করে ডেটা ধারণ করে। যদি পরামিতি মান true হয়, API প্রতিক্রিয়াতে API অনুরোধে নির্দিষ্ট তারিখের সাথে মেলে এমন ডেটা থাকে।
দ্রষ্টব্য: API-এর 1 সংস্করণে, এই প্যারামিটারটির নাম দেওয়া হয়েছিল include-historical-channel-data
maxResults integer
প্রতিক্রিয়াতে অন্তর্ভুক্ত করার জন্য সর্বাধিক সংখ্যক সারি।
দ্রষ্টব্য: API-এর সংস্করণ 1-এ, এই পরামিতিটির নামকরণ করা হয়েছিল max-results
sort string
মাত্রা বা মেট্রিক্সের একটি কমা-বিভক্ত তালিকা যা YouTube বিশ্লেষণ ডেটার জন্য সাজানোর ক্রম নির্ধারণ করে। ডিফল্টভাবে সাজানোর ক্রম ক্রমবর্ধমান। - উপসর্গ অবরোহী সাজানোর ক্রম ঘটায়।
startIndex integer
পুনরুদ্ধার করার জন্য প্রথম সত্তার 1-ভিত্তিক সূচক। (ডিফল্ট মান হল 1 ) এই প্যারামিটারটিকে max-results পরামিতি সহ একটি পৃষ্ঠা সংখ্যা পদ্ধতি হিসাবে ব্যবহার করুন।
দ্রষ্টব্য: API-এর 1 সংস্করণে, এই প্যারামিটারটির নাম দেওয়া হয়েছিল start-index
স্ট্যান্ডার্ড প্যারামিটার
access_token বর্তমান ব্যবহারকারীর জন্য OAuth 2.0 টোকেন।
alt এই প্যারামিটারটি API-এর 2 সংস্করণে সমর্থিত নয়, যা শুধুমাত্র JSON প্রতিক্রিয়া সমর্থন করে। API প্রতিক্রিয়ার জন্য ডেটা বিন্যাস।
  • বৈধ মান: json , csv
  • ডিফল্ট মান: json
callback কলব্যাক ফাংশন।
  • জাভাস্ক্রিপ্ট কলব্যাক ফাংশনের নাম যা প্রতিক্রিয়া পরিচালনা করে।
  • JavaScript JSON-P অনুরোধে ব্যবহৃত হয়।
prettyPrint

ইন্ডেন্টেশন এবং লাইন ব্রেক সহ প্রতিক্রিয়া প্রদান করে।

  • true হলে মানব-পাঠযোগ্য বিন্যাসে প্রতিক্রিয়া প্রদান করে।
  • ডিফল্ট মান: true
  • যখন এটি false হয়, এটি প্রতিক্রিয়া পেলোডের আকার হ্রাস করতে পারে, যা কিছু পরিবেশে আরও ভাল কর্মক্ষমতার দিকে নিয়ে যেতে পারে।
quotaUser এই পরামিতিটি API-এর 1 সংস্করণে সমর্থিত ছিল, যা এখন বাতিল করা হয়েছে। এই প্যারামিটারটি API-এর 2 সংস্করণে সমর্থিত নয়।
userIp এই পরামিতিটি API-এর 1 সংস্করণে সমর্থিত ছিল, যা এখন বাতিল করা হয়েছে। এই প্যারামিটারটি API-এর 2 সংস্করণে সমর্থিত নয়।

শরীরের অনুরোধ

এই পদ্ধতিতে কল করার সময় একটি রিকোয়েস্ট বডি পাঠাবেন না।

প্রতিক্রিয়া

alt প্যারামিটার সংজ্ঞায় উল্লিখিত হিসাবে, API JSON বা CSV ফর্ম্যাটে প্রতিক্রিয়াগুলি ফেরত দিতে পারে৷ প্রতিটি ধরনের জন্য প্রতিক্রিয়া বডি সম্পর্কে তথ্য নীচে দেখানো হয়েছে:

JSON
{
  "kind": "youtubeAnalytics#resultTable",
  "columnHeaders": [
    {
      "name": string,
      "dataType": string,
      "columnType": string
    },
    ... more headers ...
  ],
  "rows": [
    [
      {value}, {value}, ...
    ]
  ]
}
বৈশিষ্ট্য
kind string
এই মানটি API প্রতিক্রিয়াতে অন্তর্ভুক্ত ডেটার ধরন নির্দিষ্ট করে। query পদ্ধতির জন্য, kind সম্পত্তির মান হবে youtubeAnalytics#resultTable । যাইহোক, যদি API অন্যান্য পদ্ধতির জন্য সমর্থন যোগ করে, সেই পদ্ধতিগুলির জন্য API প্রতিক্রিয়াগুলি অন্য kind সম্পত্তি মানগুলি প্রবর্তন করতে পারে।
columnHeaders[] list
এই মানটি rows ক্ষেত্রগুলিতে ফিরে আসা ডেটা সম্পর্কে তথ্য নির্দিষ্ট করে। columnHeaders তালিকার প্রতিটি আইটেম rows মানের মধ্যে প্রত্যাবর্তিত একটি ক্ষেত্র চিহ্নিত করে, যেখানে কমা-সীমাবদ্ধ ডেটার একটি তালিকা রয়েছে।

columnHeaders তালিকা API অনুরোধে নির্দিষ্ট মাত্রা দিয়ে শুরু হয়, যা API অনুরোধে নির্দিষ্ট মেট্রিক্স দ্বারা অনুসরণ করা হয়। উভয় মাত্রা এবং মেট্রিক্সের ক্রম API অনুরোধের ক্রম অনুসারে মেলে।

উদাহরণ স্বরূপ, যদি API অনুরোধে প্যারামিটারগুলি থাকে dimensions=ageGroup,gender&metrics=viewerPercentage , API প্রতিক্রিয়া এই ক্রমে কলাম প্রদান করে: ageGroup , gender , viewerPercentage
columnHeaders[]. name string
মাত্রা বা মেট্রিকের নাম।
columnHeaders[]. columnType string
কলামের ধরন ( DIMENSION বা METRIC )।
columnHeaders[]. dataType string
কলামে ডেটার ধরন ( STRING , INTEGER , FLOAT , ইত্যাদি)।
rows[] list
তালিকায় ফলাফল টেবিলের সমস্ত সারি রয়েছে। তালিকার প্রতিটি আইটেম হল একটি অ্যারে যা একটি একক সারির ডেটার সাথে সম্পর্কিত কমা-ডিলিমিটেড ডেটা ধারণ করে৷ কমা-ডিলিমিটেড ডেটা ফিল্ডের ক্রম কলাম columnHeaders ফিল্ডে তালিকাভুক্ত কলামের ক্রম অনুসারে মিলবে।

প্রদত্ত ক্যোয়ারীটির জন্য কোন ডেটা উপলব্ধ না হলে, rows উপাদানটি প্রতিক্রিয়া থেকে বাদ দেওয়া হবে।

day মাত্রা সহ একটি প্রশ্নের উত্তরে সাম্প্রতিক দিনের জন্য সারি থাকবে না।

CSV
day, views, likes, ...
"2012-01-01", 12.0, 3, ...
"2012-01-02", 16.0, 2, ...
"2012-01-03", 18.0, 8, ...
...

উদাহরণ

দ্রষ্টব্য: নিম্নলিখিত কোড নমুনাগুলি সমস্ত সমর্থিত প্রোগ্রামিং ভাষার প্রতিনিধিত্ব নাও করতে পারে৷ সমর্থিত ভাষার তালিকার জন্য ক্লায়েন্ট লাইব্রেরি ডকুমেন্টেশন দেখুন।

জাভাস্ক্রিপ্ট

এই উদাহরণটি 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>

পাইথন

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

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

আপনাকে পাইথনের জন্য Google APIs ক্লায়েন্ট লাইব্রেরি এবং কিছু অতিরিক্ত লাইব্রেরি ইনস্টল করতে হবে:

pip install --upgrade google-api-python-client
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2

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

  1. আপনার কাজের ডিরেক্টরিতে নীচের কোড নমুনাটি অনুলিপি করুন।
  2. নমুনায়, CLIENT_SECRETS_FILE ভেরিয়েবলের মান আপডেট করুন আপনার অনুমোদনের শংসাপত্র সেট আপ করার পরে আপনি যে ফাইলটি ডাউনলোড করেছেন তার সাথে মেলে।
  3. একটি টার্মিনাল উইন্ডোতে নমুনা কোড চালান:
    python yt_analytics_v2.py
  4. অনুমোদন প্রবাহ মাধ্যমে যান. অনুমোদন প্রবাহ স্বয়ংক্রিয়ভাবে আপনার ব্রাউজারে লোড হতে পারে, অথবা আপনাকে একটি ব্রাউজার উইন্ডোতে প্রমাণীকরণ URL অনুলিপি করতে হতে পারে। অনুমোদন প্রবাহের শেষে, যদি প্রয়োজন হয়, আপনার টার্মিনাল উইন্ডোতে ব্রাউজারে প্রদর্শিত অনুমোদন কোড পেস্ট করুন এবং [রিটার্ন] ক্লিক করুন।
  5. API ক্যোয়ারী কার্যকর হয় এবং JSON প্রতিক্রিয়া টার্মিনাল উইন্ডোতে আউটপুট হয়।
# -*- coding: utf-8 -*-

import os
import google.oauth2.credentials
import google_auth_oauthlib.flow
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from google_auth_oauthlib.flow import InstalledAppFlow

SCOPES = ['https://www.googleapis.com/auth/yt-analytics.readonly']

API_SERVICE_NAME = 'youtubeAnalytics'
API_VERSION = 'v2'
CLIENT_SECRETS_FILE = 'YOUR_CLIENT_SECRET_FILE.json'
def get_service():
  flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES)
  credentials = flow.run_console()
  return build(API_SERVICE_NAME, API_VERSION, credentials = credentials)

def execute_api_request(client_library_function, **kwargs):
  response = client_library_function(
    **kwargs
  ).execute()

  print(response)

if __name__ == '__main__':
  # Disable OAuthlib's HTTPs verification when running locally.
  # *DO NOT* leave this option enabled when running in production.
  os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'

  youtubeAnalytics = get_service()
  execute_api_request(
      youtubeAnalytics.reports().query,
      ids='channel==MINE',
      startDate='2017-01-01',
      endDate='2017-12-31',
      metrics='estimatedMinutesWatched,views,likes,subscribersGained'
      dimensions='day',
      sort='day'
  )

এটা চেষ্টা করুন!

এই API কল করতে APIs Explorer ব্যবহার করুন এবং API অনুরোধ এবং প্রতিক্রিয়া দেখুন।