YouTube Reporting API - Get Bulk Data Reports

ইউটিউব স্বয়ংক্রিয়ভাবে সেইসব কন্টেন্ট মালিকদের জন্য সিস্টেম-পরিচালিত বিজ্ঞাপন রাজস্ব রিপোর্টের একটি সেট তৈরি করে, যাদের ক্রিয়েটর স্টুডিও -তে সংশ্লিষ্ট রিপোর্টগুলিতে অ্যাক্সেস রয়েছে। এই রিপোর্টগুলি এমন ডেটাতে প্রোগ্রাম্যাটিক অ্যাক্সেস দেওয়ার জন্য ডিজাইন করা হয়েছে, যা ইউটিউব ক্রিয়েটর স্টুডিও-র রিপোর্টস মেনুতে থাকা ম্যানুয়ালি ডাউনলোডযোগ্য রিপোর্টগুলিতেও পাওয়া যায়।

দ্রষ্টব্য: এপিআই (API) ক্রিয়েটর স্টুডিও (Creator Studio) থেকে ভিন্ন ধরনের রিপোর্ট ব্যবহারের সুযোগ দেয়, যদিও রিপোর্টগুলোতে একই ধরনের ডেটা থাকে। এপিআই রিপোর্টগুলোতে ভিন্ন ফিল্ড থাকতে পারে এবং ক্রিয়েটর স্টুডিও রিপোর্টের চেয়ে ভিন্ন ফিল্ডের নামও ব্যবহার করা হতে পারে।

যেহেতু ইউটিউব স্বয়ংক্রিয়ভাবে সিস্টেম-পরিচালিত রিপোর্ট তৈরি করে, তাই এই রিপোর্টগুলো সংগ্রহ করার প্রক্রিয়াটি এপিআই (API)-এর মাধ্যমে উপলব্ধ ইউটিউব অ্যানালিটিক্স বাল্ক ডেটা রিপোর্টের চেয়ে ভিন্ন।

রিপোর্ট পুনরুদ্ধার করা

নিম্নলিখিত ধাপগুলিতে API-এর মাধ্যমে সিস্টেম-পরিচালিত রিপোর্টগুলি কীভাবে পুনরুদ্ধার করতে হয় তা ব্যাখ্যা করা হয়েছে।

ধাপ ১: অনুমোদনের প্রমাণপত্র পুনরুদ্ধার করুন

ইউটিউব রিপোর্টিং এপিআই-এর সকল অনুরোধ অবশ্যই অনুমোদিত হতে হবে। অনুমোদন নির্দেশিকায় ব্যাখ্যা করা হয়েছে কীভাবে OAuth 2.0 প্রোটোকল ব্যবহার করে অনুমোদন টোকেন সংগ্রহ করা যায়।

ইউটিউব রিপোর্টিং এপিআই অনুরোধগুলি নিম্নলিখিত অনুমোদন স্কোপগুলি ব্যবহার করে:

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

ধাপ ২: কাঙ্ক্ষিত রিপোর্টের জন্য জব আইডিটি সংগ্রহ করুন।

সিস্টেম-পরিচালিত জবগুলির তালিকা পেতে jobs.list মেথডটি কল করুন। includeSystemManaged প্যারামিটারটির মান true সেট করুন।

প্রতিটি ফেরত আসা Job রিসোর্সের reportTypeId প্রপার্টিটি সেই জবের সাথে যুক্ত সিস্টেম-পরিচালিত রিপোর্টের ধরন শনাক্ত করে। পরবর্তী ধাপে আপনার অ্যাপ্লিকেশনের একই রিসোর্স থেকে id প্রপার্টির মানটি প্রয়োজন হবে।

Reports ডকুমেন্টটিতে উপলব্ধ রিপোর্ট, তাদের রিপোর্ট টাইপ আইডি এবং অন্তর্ভুক্ত ফিল্ডগুলোর তালিকা দেওয়া থাকে। এছাড়াও, আপনি সমর্থিত রিপোর্ট টাইপগুলোর তালিকা পেতে reportTypes.list মেথডটি ব্যবহার করতে পারেন।

ধাপ ৩: রিপোর্টটির ডাউনলোড URL সংগ্রহ করুন।

জবটির জন্য তৈরি করা রিপোর্টগুলোর তালিকা পেতে jobs.reports.list মেথডটি কল করুন। রিকোয়েস্টে, আপনি যে রিপোর্টটি পেতে চান তার জব আইডি-তে jobId প্যারামিটারটি সেট করুন।

আপনি নিম্নলিখিত প্যারামিটারগুলোর যেকোনো একটি বা সবগুলো ব্যবহার করে রিপোর্টের তালিকাটি ফিল্টার করতে পারেন:

  • createdAfter প্যারামিটারটি ব্যবহার করে নির্দেশ করুন যে এপিআই যেন শুধুমাত্র একটি নির্দিষ্ট সময়ের পরে তৈরি করা রিপোর্টগুলোই ফেরত দেয়। এই প্যারামিটারটি ব্যবহার করে নিশ্চিত করা যায় যে এপিআই কেবল সেই রিপোর্টগুলোই ফেরত দেবে যা আপনি ইতিমধ্যে প্রসেস করেননি।

  • startTimeBefore প্যারামিটারটি ব্যবহার করে এটি নির্দেশ করুন যে, এপিআই রেসপন্সে শুধুমাত্র সেইসব রিপোর্টই থাকবে, যেগুলোর সবচেয়ে পুরনো ডেটা নির্দিষ্ট তারিখের আগের। অন্যদিকে, createdAfter প্যারামিটারটি রিপোর্ট তৈরির সময়কে নির্দেশ করে, আর এই তারিখটি রিপোর্টের ডেটাকে নির্দেশ করে।

  • startTimeAtOrAfter প্যারামিটারটি ব্যবহার করে এটি নির্দেশ করুন যে, এপিআই রেসপন্সে শুধুমাত্র সেইসব রিপোর্টই থাকবে, যেগুলোর মধ্যে রিপোর্টের সবচেয়ে পুরনো ডেটা নির্দিষ্ট তারিখে বা তার পরে রয়েছে। startTimeBefore প্যারামিটারের মতোই, এই প্যারামিটারের মানটি রিপোর্টের ডেটার সাথে সম্পর্কিত, রিপোর্টটি তৈরি হওয়ার সময়ের সাথে নয়।

এপিআই রেসপন্সে সেই জবটির জন্য Report রিসোর্সগুলোর একটি তালিকা থাকে। প্রতিটি রিসোর্স এমন একটি রিপোর্টকে নির্দেশ করে, যেটিতে একটি নির্দিষ্ট সময়কালের ডেটা থাকে।

  • রিসোর্সের startTime এবং endTime প্রোপার্টিগুলো সেই সময়কালকে চিহ্নিত করে, যা রিপোর্টের ডেটা অন্তর্ভুক্ত করে।
  • রিসোর্সটির downloadUrl প্রপার্টিটি সেই URL-কে চিহ্নিত করে, যেখান থেকে রিপোর্টটি সংগ্রহ করা যাবে।
  • রিসোর্সের ' createTime ' প্রপার্টিটি রিপোর্টটি তৈরি হওয়ার তারিখ ও সময় নির্দিষ্ট করে। আপনার অ্যাপ্লিকেশনের উচিত এই মানটি সংরক্ষণ করা এবং পূর্বে ডাউনলোড করা রিপোর্টগুলো পরিবর্তিত হয়েছে কিনা তা নির্ধারণ করতে এটি ব্যবহার করা।

ধাপ ৪: রিপোর্টটি ডাউনলোড করুন।

রিপোর্টটি পুনরুদ্ধার করতে ধাপ ৪-এ প্রাপ্ত downloadUrl এ একটি HTTP GET অনুরোধ পাঠান।

প্রতিবেদন প্রক্রিয়াকরণ

সর্বোত্তম অনুশীলন

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

  • রিপোর্টের কলামগুলোর ক্রম নির্ধারণ করতে রিপোর্টের হেডার রো ব্যবহার করুন। উদাহরণস্বরূপ, রিপোর্টের বিবরণে প্রথম মেট্রিক হিসেবে তালিকাভুক্ত আছে বলেই যে ভিউজ (views) রিপোর্টের প্রথম মেট্রিক হবে, এমনটা ধরে নেবেন না। এর পরিবর্তে, কোন কলামে সেই ডেটা রয়েছে তা নির্ধারণ করতে রিপোর্টের হেডার রো ব্যবহার করুন।

  • একই রিপোর্ট বারবার প্রক্রিয়াকরণ এড়াতে আপনার ডাউনলোড করা রিপোর্টগুলোর একটি তালিকা রাখুন। নিচের তালিকাটিতে তা করার কয়েকটি উপায় উল্লেখ করা হলো।

    • reports.list মেথডটি কল করার সময়, শুধুমাত্র একটি নির্দিষ্ট তারিখের পরে তৈরি হওয়া রিপোর্টগুলো পাওয়ার জন্য createdAfter প্যারামিটারটি ব্যবহার করুন। (প্রথমবার রিপোর্ট পাওয়ার সময় createdAfter প্যারামিটারটি বাদ দিন।)

      প্রতিবার রিপোর্ট পুনরুদ্ধার এবং সফলভাবে প্রসেস করার পর, সেই রিপোর্টগুলোর মধ্যে সর্বশেষটি তৈরি হওয়ার তারিখ ও সময়ের সাথে সম্পর্কিত টাইমস্ট্যাম্পটি সংরক্ষণ করুন। এরপর, reports.list মেথডের প্রতিটি পরবর্তী কলে createdAfter প্যারামিটারের মান আপডেট করুন, যাতে এটি নিশ্চিত করা যায় যে আপনি প্রতিবার এপিআই কল করার সময় শুধুমাত্র নতুন রিপোর্টই পুনরুদ্ধার করছেন, যার মধ্যে ব্যাকফিল করা ডেটাসহ নতুন রিপোর্টও অন্তর্ভুক্ত থাকবে।

      সতর্কতামূলক ব্যবস্থা হিসেবে, কোনো রিপোর্ট পুনরুদ্ধার করার আগে, এটিও যাচাই করে নিন যে রিপোর্টটির আইডি আপনার ডেটাবেসে আগে থেকেই তালিকাভুক্ত নেই।

    • আপনার ডাউনলোড করা এবং প্রসেস করা প্রতিটি রিপোর্টের আইডি সংরক্ষণ করুন। আপনি প্রতিটি রিপোর্ট তৈরি হওয়ার তারিখ ও সময় অথবা রিপোর্টের startTime এবং endTime মতো অতিরিক্ত তথ্যও সংরক্ষণ করতে পারেন, যা একত্রে রিপোর্টটিতে থাকা ডেটা সময়কালকে শনাক্ত করে। ইউটিউব অ্যানালিটিক্সের জন্য বাল্ক ডেটা সংগ্রহকারী রিপোর্টগুলোর ক্ষেত্রে, প্রতিটি জবে সম্ভবত অনেকগুলো রিপোর্ট থাকবে, কারণ প্রতিটি রিপোর্টে ২৪-ঘণ্টার ডেটা থাকে। সিস্টেম-পরিচালিত জবগুলো, যেগুলো দীর্ঘ সময়কাল জুড়ে কাজ করে, সেগুলোতে রিপোর্টের সংখ্যা কম থাকবে।

      যে রিপোর্টগুলো আপনার এখনও ডাউনলোড ও ইম্পোর্ট করা বাকি আছে, সেগুলো শনাক্ত করতে রিপোর্ট আইডি ব্যবহার করুন। তবে, যদি দুটি নতুন রিপোর্টের startTime এবং endTime প্রপার্টির মান একই হয়, তাহলে শুধু নতুন createTime মানযুক্ত রিপোর্টটিই ইম্পোর্ট করুন।

প্রতিবেদনের বৈশিষ্ট্য

এপিআই রিপোর্টগুলো হলো ভার্সনযুক্ত .csv (কমা-বিভাজিত মান) ফাইল, যেগুলোর নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

  • প্রতিটি প্রতিবেদনে একটি নির্দিষ্ট সময়কালের তথ্য থাকে, যা প্রতিবেদনটির শুরুর তারিখে প্যাসিফিক সময় রাত ১২:০০টা থেকে প্রতিবেদনটির শেষের তারিখে প্যাসিফিক সময় রাত ১১:৫৯টা পর্যন্ত বিস্তৃত।

  • রিপোর্টের ডেটা সাজানো নেই।