বাস্তবায়ন: ভিডিও

নিম্নলিখিত উদাহরণগুলিতে দেখানো হয়েছে কিভাবে ইউটিউব ডেটা এপিআই (v3) ব্যবহার করে ভিডিও সম্পর্কিত ফাংশনগুলি সম্পাদন করা যায়।

একটি চ্যানেলের আপলোড করা ভিডিওগুলো পুনরুদ্ধার করুন

এই উদাহরণটি একটি নির্দিষ্ট চ্যানেলে আপলোড করা ভিডিওগুলো পুনরুদ্ধার করে। উদাহরণটিতে দুটি ধাপ রয়েছে:

  • ধাপ ১: চ্যানেলের আপলোড করা ভিডিওগুলোর প্লেলিস্ট আইডি খুঁজে বের করুন।

    চ্যানেলের আপলোড করা ভিডিওগুলো ধারণকারী প্লেলিস্টের আইডি পেতে channels.list মেথডটি কল করুন। অনুরোধের part প্যারামিটারের মান হিসেবে, পুনরুদ্ধার করা channel রিসোর্স পার্টগুলোর মধ্যে একটিতে অবশ্যই contentDetails অন্তর্ভুক্ত থাকতে হবে। এপিআই রেসপন্সে, contentDetails.relatedPlaylists.uploads প্রপার্টিতে প্লেলিস্ট আইডিটি থাকে।

    চ্যানেলটি শনাক্ত করার বিভিন্ন উপায় রয়েছে:

    • বর্তমানে প্রমাণীকৃত ব্যবহারকারীর ইউটিউব চ্যানেলের তথ্য পেতে mine প্যারামিটারের মান ` true সেট করুন। আপনার অনুরোধটি অবশ্যই OAuth 2.0 ব্যবহার করে অনুমোদিত হতে হবে।

      https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?
              part=contentDetails
              &mine=true
    • কোনো ইউটিউব ইউজারনেমের সাথে যুক্ত চ্যানেলের তথ্য পেতে, forUsername প্যারামিটারটিতে সেই ইউজারনেমটি সেট করুন। এই উদাহরণে, গুগলের অফিসিয়াল ইউটিউব চ্যানেলের তথ্য পাওয়ার জন্য forUsername প্যারামিটারের মান Google সেট করা হয়েছে।

      https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?
              part=contentDetails
              &forUsername=Google
    • যে ইউটিউব চ্যানেল থেকে আপনি তথ্য সংগ্রহ করছেন, সেটিকে অনন্যভাবে শনাক্তকারী ইউটিউব চ্যানেল আইডি-তে id প্যারামিটারটি সেট করুন। এই উদাহরণে id প্যারামিটারটি UCK8sQmJBp8GCxrOtXWBpyEA তে সেট করা হয়েছে, যা গুগলের অফিসিয়াল ইউটিউব চ্যানেলকেও শনাক্ত করে।

      https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?
              part=contentDetails
              &id=UCK8sQmJBp8GCxrOtXWBpyEA
  • ধাপ ২: আপলোড করা ভিডিওগুলির তালিকা পুনরুদ্ধার করুন

    আপলোড করা ভিডিওগুলির তালিকা পেতে playlistItems.list মেথডটি কল করুন। playlistId প্যারামিটারের মানটি ধাপ ১-এ প্রাপ্ত মানটিতে সেট করুন। এই উদাহরণে, প্যারামিটারের মান UUK8sQmJBp8GCxrOtXWBpyEA তে সেট করা হয়েছে, যা হলো গুগলের অফিসিয়াল ইউটিউব চ্যানেলে আপলোড করা ভিডিওগুলির তালিকা।

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list?
            part=snippet,contentDetails,status
            &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA

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

সবচেয়ে জনপ্রিয় ভিডিওর তালিকা পেতে, videos.list মেথডটি কল করুন এবং chart প্যারামিটারের মান mostPopular সেট করুন। mostPopular চার্টটিতে ট্রেন্ডিং মিউজিক, মুভি এবং গেমিং ভিডিও অন্তর্ভুক্ত থাকে।

তারপর, আপনি ঐচ্ছিকভাবে নিম্নলিখিত প্যারামিটারগুলো সেট করতে পারেন:

  • regionCode : নির্দিষ্ট অঞ্চলের ভিডিওর তালিকা ফেরত দেওয়ার জন্য API-কে নির্দেশ দেয়। প্যারামিটারের মান হলো একটি ISO 3166-1 alpha-2 কান্ট্রি কোড। YouTube যেসব রিজিওন কোড সমর্থন করে, তার তালিকা পেতে আপনি i18nRegions.list মেথডটি ব্যবহার করতে পারেন।
  • videoCategoryId : এটি সেই ভিডিও ক্যাটাগরিকে শনাক্ত করে, যেখান থেকে সবচেয়ে জনপ্রিয় ভিডিওগুলো খুঁজে বের করা হবে। ইউটিউব দ্বারা সমর্থিত ক্যাটাগরি আইডিগুলোর একটি তালিকা পেতে আপনি videoCategories.list মেথডটি ব্যবহার করতে পারেন।

উদাহরণস্বরূপ, নিম্নলিখিত অনুরোধটি স্পেনের সবচেয়ে জনপ্রিয় ক্রীড়া ভিডিওগুলি খুঁজে বের করে:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17
  

ব্যাচ ভিডিও পরিসংখ্যান পুনরুদ্ধার করুন

এই উদাহরণটি videos.batchGetStats পদ্ধতি ব্যবহার করে ভিডিওর একটি তালিকার পরিসংখ্যান পুনরুদ্ধার করে।

এই পদ্ধতিটি ব্যবহার করতে, রিকোয়েস্টের ' id প্যারামিটারটিতে কমা দিয়ে আলাদা করা সেইসব ইউটিউব ভিডিও আইডির একটি তালিকা সেট করুন, যেগুলোর পরিসংখ্যান আপনি পেতে চান। part ' প্যারামিটারের ভ্যালুটি কমা দিয়ে আলাদা করা সেইসব videoStat রিসোর্স পার্টের একটি তালিকা হিসেবে সেট করুন, যেগুলো আপনি রেসপন্সে অন্তর্ভুক্ত করতে চান। সমর্থিত পার্টগুলো হলো snippet , statistics , contentDetails ' এবং id

অপ্রকাশ্য ভিডিওর ক্ষেত্রে এই পদ্ধতিটি ব্যবহার করতে প্রমাণীকরণ প্রয়োজন, কিন্তু প্রকাশ্য ভিডিওর জন্য এর প্রয়োজন নেই। যদি অনুরোধটি কোনো অপ্রকাশ্য ভিডিওর ডেটা পুনরুদ্ধার করে, তবে সেটিকে অবশ্যই যথাযথভাবে অনুমোদিত হতে হবে।

নিচের অনুরোধটি VIDEO_ID_1 এবং VIDEO_ID_2 ভিডিও আইডিগুলোর পরিসংখ্যান পুনরুদ্ধার করে:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.batchGetStats?
        part=snippet,statistics
        &id=VIDEO_ID_1,VIDEO_ID_2

একটি ভিডিও আপলোড করুন

যেহেতু এপিআই এক্সপ্লোরার ফাইল আপলোড করার সুবিধা সমর্থন করে না, তাই এই বিবরণে কোনো এক্সিকিউটেবল উদাহরণের লিঙ্ক দেওয়া হয়নি। নিম্নলিখিত রিসোর্সগুলো আপনার অ্যাপ্লিকেশনটিকে এমনভাবে পরিবর্তন করতে সাহায্য করবে যাতে এটি v3 এপিআই ব্যবহার করে ভিডিও আপলোড করতে পারে:

  • API-এর videos.insert মেথডের ডকুমেন্টেশনে বেশ কিছু কোড স্যাম্পল রয়েছে, যেগুলো বিভিন্ন প্রোগ্রামিং ভাষা ব্যবহার করে ভিডিও আপলোড করার পদ্ধতি ব্যাখ্যা করে।

  • রিজিউমেবল আপলোডস গাইডটি সেইসব HTTP রিকোয়েস্টের ক্রম ব্যাখ্যা করে, যা একটি অ্যাপ্লিকেশন রিজিউমেবল আপলোডিং প্রক্রিয়া ব্যবহার করে ভিডিও আপলোড করার জন্য প্রয়োগ করে। এই গাইডটি মূলত সেইসব ডেভেলপারদের জন্য তৈরি, যারা গুগল এপিআই ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে পারেন না; কারণ সেগুলোর মধ্যে কয়েকটি রিজিউমেবল আপলোডের জন্য নেটিভ সাপোর্ট প্রদান করে।

  • একটি ওয়েব পেজের মাধ্যমে কীভাবে একটি ভিডিও ফাইল আপলোড করতে হয়, তা দেখানোর জন্য এই জাভাস্ক্রিপ্ট উদাহরণটিতে CORS (ক্রস-অরিজিন রিসোর্স শেয়ারিং) ব্যবহার করা হয়েছে। v3 API যে CORS আপলোড লাইব্রেরিটি ব্যবহার করে, তা স্বাভাবিকভাবেই রিজিউমেবল আপলোডিং সমর্থন করে। এছাড়াও, এই উদাহরণটিতে দেখানো হয়েছে কীভাবে video রিসোর্সের processingDetails অংশটি পুনরুদ্ধার করে একটি আপলোড করা ভিডিওর স্ট্যাটাস পরীক্ষা করতে হয় এবং আপলোড করা ভিডিওর স্ট্যাটাস পরিবর্তন কীভাবে সামাল দিতে হয়।

আপলোড করা ভিডিওর অবস্থা যাচাই করুন

এই উদাহরণটি দেখায় কিভাবে একটি আপলোড করা ভিডিওর স্ট্যাটাস চেক করতে হয়। আপলোড করা ভিডিওটি প্রমাণীকৃত ব্যবহারকারীর আপলোড করা ভিডিও ফিডে সাথে সাথেই দেখা যাবে। তবে, ভিডিওটি প্রসেস না হওয়া পর্যন্ত ইউটিউবে দেখা যাবে না।

  • ধাপ ১: ভিডিওটি আপলোড করুন

    ভিডিওটি আপলোড করতে videos.insert মেথডটি কল করুন। অনুরোধটি সফল হলে, এপিআই রেসপন্সে একটি video রিসোর্স থাকবে যা আপলোড করা ভিডিওটির অনন্য ভিডিও আইডি শনাক্ত করবে।

  • ধাপ ২: ভিডিওটির অবস্থা যাচাই করুন।

    ভিডিওটির অবস্থা পরীক্ষা করতে videos.list মেথডটি কল করুন। id প্যারামিটারের মান হিসেবে ধাপ ১-এ প্রাপ্ত ভিডিও আইডিটি সেট করুন। part প্যারামিটারের মান হিসেবে processingDetails সেট করুন।

    অনুরোধটি সফলভাবে সম্পন্ন হলে, API রেসপন্সে একটি video রিসোর্স থাকবে। YouTube এখনও ভিডিওটি প্রসেস করছে কিনা তা জানতে processingDetails.processingStatus প্রপার্টির মান দেখুন। YouTube ভিডিওটির প্রসেসিং শেষ করলে, প্রপার্টির মান processing ' ছাড়া অন্য কিছুতে, যেমন succeeded বা ' failed এ পরিবর্তিত হবে।

    রিকোয়েস্ট বডি হলো একটি video রিসোর্স, যার id প্রপার্টিটি আপনি যে ভিডিওটি ডিলিট করছেন তার আইডি নির্দিষ্ট করে। এই উদাহরণে, রিসোর্সটিতে একটি recordingDetails ' অবজেক্টও রয়েছে।

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

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
            part=snippet,processingDetails
            &id=VIDEO_ID

দ্রষ্টব্য: আপনার অ্যাপ্লিকেশনটি নতুন আপলোড করা ভিডিওর অবস্থা পর্যায়ক্রমে পরীক্ষা করার জন্য এপিআই (API) পোল করতে পারে। ভিডিওটি প্রক্রিয়াজাত হয়ে গেলে, আপনার অ্যাপ্লিকেশনটি ভিডিওটির অবস্থার উপর নির্ভর করে একটি বুলেটিন তৈরি করতে বা অন্য কোনো পদক্ষেপ নিতে পারে।

একটি ভিডিও আপডেট করুন

এই উদাহরণটি দেখায় কিভাবে একটি ভিডিও আপডেট করে তাতে রেকর্ড করার সময় এবং স্থানের তথ্য যোগ করা যায়। উদাহরণটিতে নিম্নলিখিত ধাপগুলো রয়েছে:

  • ধাপ ১: ভিডিও আইডিটি পুনরুদ্ধার করুন।

    বর্তমানে প্রমাণীকৃত ব্যবহারকারীর চ্যানেলের জন্য আপলোড করা ভিডিওগুলো পুনরুদ্ধার করতে উপরের ধাপগুলো অনুসরণ করুন। প্রতিটি ভিডিওর আইডিকে কী (key) হিসেবে ব্যবহার করে ভিডিওগুলোর একটি তালিকা প্রদর্শন করতে এই তালিকাটি ব্যবহার করা যেতে পারে।

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

  • ধাপ ২: একটি ভিডিও আপডেট করুন

    একটি নির্দিষ্ট ভিডিও আপডেট করতে videos.update মেথডটি কল করুন। part প্যারামিটারের মান recordingDetails এ সেট করুন। (প্যারামিটারের মান নির্ভর করে কোন ভিডিওর মেটাডেটা ফিল্ডগুলো আপডেট করা হচ্ছে তার উপর।)

    রিকোয়েস্ট বডি হলো একটি video রিসোর্স, যার id প্রপার্টিটি আপনি যে ভিডিওটি আপডেট করছেন তার আইডি নির্দিষ্ট করে। এই উদাহরণে, রিসোর্সটিতে একটি recordingDetails ' অবজেক্টও রয়েছে।

    নীচের নমুনা উৎসটি থেকে জানা যায় যে, ভিডিওটি ২০১৩ সালের ৩০শে অক্টোবর বস্টনে রেকর্ড করা হয়েছিল:

    {
      "id": "VIDEO_ID",
      "recordingDetails": {
        "location": {
          "latitude": "42.3464",
          "longitude": "-71.0975"
        }
        "recordingDate": "2013-10-30T23:15:00.000Z"
      }
    }

    এপিআই এক্সপ্লোরারে অনুরোধটি সম্পূর্ণ করতে, আপনাকে id প্রপার্টির মান সেট করতে হবে।

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update?
            part=snippet

একটি ভিডিওর জন্য নিজস্ব থাম্বনেইল ছবি আপলোড করে সেট করুন।

আপনি v3 API-এর thumbnails.set মেথড ব্যবহার করে একটি কাস্টম থাম্বনেইল ইমেজ আপলোড করতে এবং কোনো ভিডিওর জন্য তা সেট করতে পারেন। আপনার রিকোয়েস্টে, videoId প্যারামিটারের ভ্যালুটি সেই ভিডিওটিকে শনাক্ত করে যার জন্য থাম্বনেইলটি ব্যবহার করা হবে।

এই কোয়েরিটি এপিআই এক্সপ্লোরার ব্যবহার করে পরীক্ষা করা যাবে না, কারণ এপিআই এক্সপ্লোরারে মিডিয়া ফাইল আপলোড করার সুবিধা নেই, যা এই পদ্ধতির জন্য একটি পূর্বশর্ত।

সম্পর্কিত কোডের নমুনা: পিএইচপি , পাইথন

একটি ভিডিও মুছুন

এই উদাহরণে দেখানো হয়েছে কীভাবে একটি ভিডিও ডিলিট করতে হয়। উদাহরণটিতে নিম্নলিখিত ধাপগুলো রয়েছে:

  • ধাপ ১: ভিডিও আইডিটি পুনরুদ্ধার করুন।

    বর্তমানে প্রমাণীকৃত ব্যবহারকারীর চ্যানেলের জন্য আপলোড করা ভিডিওগুলো পুনরুদ্ধার করতে উপরের ধাপগুলো অনুসরণ করুন। প্রতিটি ভিডিওর আইডিকে কী (key) হিসেবে ব্যবহার করে ভিডিওগুলোর একটি তালিকা প্রদর্শন করতে এই তালিকাটি ব্যবহার করা যেতে পারে।

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

  • ধাপ ২: একটি ভিডিও মুছে ফেলুন

    একটি নির্দিষ্ট ভিডিও ডিলিট করতে videos.delete মেথডটি কল করুন। রিকোয়েস্টে, id প্যারামিটারটি আপনি যে ভিডিওটি ডিলিট করছেন তার ভিডিও আইডি নির্দিষ্ট করে। রিকোয়েস্টটি অবশ্যই OAuth 2.0 ব্যবহার করে অনুমোদিত হতে হবে। আপনি যদি APIs Explorer-এ এই কোয়েরিটি পরীক্ষা করেন, তাহলে আপনাকে id প্যারামিটারের ভ্যালুর জায়গায় একটি বৈধ ভিডিও আইডি বসাতে হবে।

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

একটি আপত্তিকর ভিডিও রিপোর্ট করুন

এই উদাহরণটি দেখায় কিভাবে আপত্তিকর বিষয়বস্তুযুক্ত একটি ভিডিও রিপোর্ট করতে হয়। উদাহরণটিতে নিম্নলিখিত ধাপগুলো রয়েছে:

  • ধাপ ১: এমন আইডিগুলো উদ্ধার করুন যা থেকে বোঝা যায় ভিডিওটি কেন রিপোর্ট করা হচ্ছে।

    একটি ভিডিও ফ্ল্যাগ করার বৈধ কারণগুলোর তালিকা পেতে videoAbuseReportReasons.list মেথডে একটি অনুমোদিত অনুরোধ পাঠান। নিচের নমুনা videoAbuseReportReason রিসোর্সটিতে স্প্যাম বা বিভ্রান্তিকর বিষয়বস্তুযুক্ত ভিডিও ফ্ল্যাগ করার জন্য প্রয়োজনীয় তথ্য রয়েছে।

    {
      "kind": "youtube#videoAbuseReportReason",
      "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"",
      "id": "S",
      "snippet": {
        "label": "Spam or misleading",
        "secondaryReasons": [
          {
            "id": "27",
            "label": "Spam or mass advertising"
          },
          {
            "id": "28",
            "label": "Misleading thumbnail"
          },
          {
            "id": "29",
            "label": "Malware or phishing"
          },
          {
            "id": "30",
            "label": "Pharmaceutical drugs for sale"
          },
          {
            "id": "31",
            "label": "Other misleading info"
          }
        ]
      }
    }

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

  • ধাপ ২: আপত্তিকর বিষয়বস্তুর জন্য ভিডিওটি ফ্ল্যাগ করুন।

    ভিডিওটি রিপোর্ট করার জন্য videos.reportAbuse মেথডে একটি অনুমোদিত অনুরোধ পাঠান। অনুরোধের বডিটি একটি JSON অবজেক্ট, যা ফ্ল্যাগ করা ভিডিও এবং ফ্ল্যাগ করার কারণ উভয়কেই শনাক্ত করে। ধাপ ১-এ যেমন উল্লেখ করা হয়েছে, কিছু নির্দিষ্ট কারণের জন্য একটি দ্বিতীয় কারণও সমর্থিত এবং জোরালোভাবে উৎসাহিত করা হয়।

    JSON অবজেক্টের videoId প্রপার্টিটি সেই ভিডিওটিকে শনাক্ত করে, যেটিকে ফ্ল্যাগ করা হচ্ছে।

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

    {
      "videoId": "VIDEO_ID",
      "reasonId": "S",
      "secondaryReasonId": "28",
      "comments": "Testing the video flagging feature.",
      "language": "en"
    }

    videos.reportAbuse অনুরোধটি অবশ্যই OAuth 2.0 ব্যবহার করে অনুমোদিত হতে হবে। নিচের লিঙ্কটি এপিআই এক্সপ্লোরারে (APIs Explorer) উপরের JSON অবজেক্টটি লোড করে। কোয়েরিটি পরীক্ষা করার জন্য, আপনাকে videoId প্রপার্টির মানের জায়গায় একটি বৈধ ভিডিও আইডি বসাতে হবে। অনুগ্রহ করে মনে রাখবেন যে, এই অনুরোধটি জমা দিলে ভিডিওটি ফ্ল্যাগড হয়ে যাবে।

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse