LiveChatMessages: streamList

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

আপনি যখন প্রথম সংযোগ করেন, তখন এপিআই সাম্প্রতিক চ্যাট ইতিহাস সহ একাধিক বার্তা পাঠায়। নতুন বার্তা পোস্ট করা হলে, সার্ভার খোলা সংযোগের মাধ্যমে সেগুলি পাঠাতে থাকবে।

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

ডেমো

এই শেষ পয়েন্টের একটি পাইথন ডেমোর জন্য, স্ট্রিমিং লাইভ চ্যাট গাইড দেখুন।

অনুরোধ

পরামিতি

নিম্নলিখিত সারণীতে এই ক্যোয়ারী সমর্থন করে এমন প্যারামিটারগুলি তালিকাভুক্ত করা হয়েছে৷ তালিকাভুক্ত সমস্ত প্যারামিটার হল ক্যোয়ারী প্যারামিটার।

পরামিতি
প্রয়োজনীয় পরামিতি
liveChatId string
liveChatId প্যারামিটার সেই চ্যাটের আইডি নির্দিষ্ট করে যার বার্তাগুলি ফেরত দেওয়া হবে। একটি সম্প্রচারের সাথে যুক্ত লাইভ চ্যাট আইডি liveBroadcast রিসোর্সের snippet.liveChatId প্রপার্টিতে ফেরত দেওয়া হয়।
part string
part প্যারামিটারটি liveChatMessage সংস্থান অংশগুলি নির্দিষ্ট করে যা API প্রতিক্রিয়া অন্তর্ভুক্ত করবে। সমর্থিত মান হল id , snippet এবং authorDetails
ঐচ্ছিক পরামিতি
hl string
hl প্যারামিটার API-কে একটি নির্দিষ্ট অ্যাপ্লিকেশন ভাষার জন্য একটি স্থানীয় মুদ্রা প্রদর্শন স্ট্রিং পুনরুদ্ধার করার নির্দেশ দেয় যা YouTube ওয়েবসাইট সমর্থন করে । উদাহরণস্বরূপ, ইংরেজিতে, মুদ্রা $1.50 হিসাবে প্রদর্শিত হবে, কিন্তু ফরাসি ভাষায়, এটি 1,50$ হিসাবে প্রদর্শিত হবে।

প্যারামিটার মানটি অবশ্যই i18nLanguages.list পদ্ধতি দ্বারা প্রত্যাবর্তিত তালিকায় অন্তর্ভুক্ত একটি ভাষা কোড হতে হবে।
maxResults unsigned integer
maxResults প্যারামিটারটি ফলাফল সেটে সর্বাধিক কতগুলি বার্তা ফেরত দেওয়া উচিত তা নির্দিষ্ট করে৷ গ্রহণযোগ্য মান হল 200 থেকে 2000 , অন্তর্ভুক্ত। ডিফল্ট মান 500
pageToken string
pageToken প্যারামিটার ফলাফল সেটে একটি নির্দিষ্ট পৃষ্ঠা চিহ্নিত করে যা ফেরত দেওয়া উচিত। একটি এপিআই প্রতিক্রিয়াতে, nextPageToken সম্পত্তি অন্যান্য পৃষ্ঠাগুলি সনাক্ত করে যা পুনরুদ্ধার করা যেতে পারে।
profileImageSize unsigned integer
profileImageSize প্যারামিটার ব্যবহারকারীর প্রোফাইল ছবিগুলির আকার নির্দিষ্ট করে যা ফলাফল সেটে ফেরত দেওয়া উচিত। ছবিগুলো বর্গাকার। ডিফল্ট মান হল 88 , মানে ছবিগুলি হবে 88px by 88px৷ গ্রহণযোগ্য মান 16 থেকে 720 মধ্যে, অন্তর্ভুক্ত।

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

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

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

সফল হলে, এই পদ্ধতিটি নিম্নলিখিত কাঠামো সহ একটি প্রতিক্রিয়া বডি প্রদান করে:

{
  "kind": "youtube#liveChatMessageListResponse",
  "etag": etag,
  "nextPageToken": string,
  "pollingIntervalMillis": unsigned integer,
  "offlineAt": datetime,
  "pageInfo": {
    "totalResults": integer,
    "resultsPerPage": integer
  },
  "items": [
    liveChatMessage Resource
  ],
  "activePollItem": liveChatMessage Resource
}

বৈশিষ্ট্য

নিম্নলিখিত সারণী এই সম্পদে প্রদর্শিত বৈশিষ্ট্যগুলিকে সংজ্ঞায়িত করে:

বৈশিষ্ট্য
kind string
API সম্পদের ধরন সনাক্ত করে। মান হবে youtube#liveChatMessageListResponse
etag etag
এই সম্পদের Etag.
nextPageToken string
ফলাফল সেটের পরবর্তী পৃষ্ঠাটি পুনরুদ্ধার করতে pageToken প্যারামিটারের মান হিসাবে টোকেন ব্যবহার করা যেতে পারে।
offlineAt datetime
যে তারিখ এবং সময় অন্তর্নিহিত লাইভস্ট্রিম অফলাইন হয়েছে। স্ট্রীমটি ইতিমধ্যে অফলাইনে থাকলেই এই সম্পত্তিটি উপস্থিত থাকে৷ মানটি ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ) ফর্ম্যাটে নির্দিষ্ট করা হয়েছে৷
pageInfo object
pageInfo অবজেক্ট ফলাফল সেটের জন্য পেজিং তথ্য এনক্যাপসুলেট করে।
pageInfo. totalResults integer
ফলাফল সেটে মোট ফলাফলের সংখ্যা।
pageInfo. resultsPerPage integer
API প্রতিক্রিয়ায় অন্তর্ভুক্ত ফলাফলের সংখ্যা।
items[] list
বার্তাগুলির একটি তালিকা। তালিকার প্রতিটি আইটেম একটি liveChatMessage সম্পদ।
activePollItem object
বার্তায় ভোটের তথ্য। প্রতিটি পোল হল pollEvent টাইপ সহ একটি liveChatMessage সম্পদ, যা একটি সক্রিয় পোল প্রতিনিধিত্ব করে। প্রতি চ্যাটে শুধুমাত্র একটি পোল হতে পারে।

ত্রুটি

নিম্নলিখিত সারণী ত্রুটি বার্তাগুলি সনাক্ত করে যা API এই পদ্ধতিতে একটি কলের প্রতিক্রিয়া হিসাবে ফিরে আসতে পারে৷ আরো বিস্তারিত জানার জন্য ত্রুটি বার্তা ডকুমেন্টেশন দেখুন.

সংযোগ করতে gRPC ব্যবহার করার সময়:

gRPC ত্রুটি কোড ত্রুটি বিস্তারিত বর্ণনা
PERMISSION_DENIED (7) The caller does not have permission নির্দিষ্ট লাইভ চ্যাটের জন্য বার্তাগুলি পুনরুদ্ধার করার জন্য আপনার কাছে প্রয়োজনীয় অনুমতি নেই৷
INVALID_ARGUMENT (3) Request contains an invalid argument প্রদত্ত প্যারামগুলি পার্স করতে ব্যর্থ৷ লাইভচ্যাটআইডি এবং অন্যান্য পরামিতি সঠিক বিন্যাসে আছে তা নিশ্চিত করুন।
FAILED_PRECONDITION (9) * Precondition check failed LIVE_CHAT_DISABLED নির্দিষ্ট লাইভ চ্যাট নিষ্ক্রিয় করা হয়েছে.
FAILED_PRECONDITION (9) * Precondition check failed LIVE_CHAT_ENDED. আপনি শেষ লাইভ চ্যাটের জন্য বার্তাগুলি পুনরুদ্ধার করতে পারবেন না৷
NOT_FOUND (5) Requested entity was not found আপনি যে লাইভ চ্যাটটি পুনরুদ্ধার করার চেষ্টা করছেন তা খুঁজে পাওয়া যাবে না। অনুরোধের liveChatId প্যারামিটারের মান পরীক্ষা করে নিশ্চিত করুন যে এটি সঠিক।
RESOURCE_EXHAUSTED (8) Resource has been exhausted (eg check quota) আগের অনুরোধের পরে খুব দ্রুত অনুরোধ পাঠানো হয়েছিল। এই ত্রুটিটি ঘটে যখন বার্তাগুলি পুনরুদ্ধার করার জন্য API অনুরোধগুলি YouTube-এর রিফ্রেশ হারের চেয়ে বেশি ঘন ঘন পাঠানো হয়, যা অপ্রয়োজনীয়ভাবে ব্যান্ডউইথ নষ্ট করে।

* একটি gRPC সীমাবদ্ধতার কারণে, একটি LIVE_CHAT_DISABLED কেস এবং একটি LIVE_CHAT_ENDED ক্ষেত্রের মধ্যে ত্রুটি কোডের উপর ভিত্তি করে পার্থক্য করা সম্ভব নয়৷ YouTube সক্রিয়ভাবে এই সমস্যার সমাধান করার জন্য একটি সমাধানের জন্য কাজ করছে৷

সংযোগ করার জন্য ওয়েব ট্র্যাফিক ব্যবহার করার সময়:

ত্রুটির ধরন ত্রুটি বিস্তারিত বর্ণনা
HttpStatus.FORBIDDEN (403) forbidden নির্দিষ্ট লাইভ চ্যাটের জন্য বার্তাগুলি পুনরুদ্ধার করার জন্য আপনার কাছে প্রয়োজনীয় অনুমতি নেই৷
HttpStatus.BAD_REQUEST (400) Reason for invalid request, eg pageTokenInvalid প্রদত্ত প্যারাম পার্স করতে ব্যর্থ. লাইভচ্যাটআইডি এবং অন্যান্য পরামিতি সঠিক বিন্যাসে আছে তা নিশ্চিত করুন।
HttpStatus.FORBIDDEN (403) liveChatDisabled LIVE_CHAT_DISABLED নির্দিষ্ট লাইভ চ্যাট নিষ্ক্রিয় করা হয়েছে.
HttpStatus.FORBIDDEN (403) liveChatEnded LIVE_CHAT_ENDED. আপনি শেষ লাইভ চ্যাটের জন্য বার্তাগুলি পুনরুদ্ধার করতে পারবেন না৷
HttpStatus.NOT_FOUND (404) liveChatNotFound আপনি যে লাইভ চ্যাটটি পুনরুদ্ধার করার চেষ্টা করছেন তা খুঁজে পাওয়া যাবে না। অনুরোধের liveChatId প্যারামিটারের মান পরীক্ষা করে নিশ্চিত করুন যে এটি সঠিক।
HttpStatus.FORBIDDEN (403) rateLimitExceeded আগের অনুরোধের পরে খুব দ্রুত অনুরোধ পাঠানো হয়েছিল। এই ত্রুটিটি ঘটে যখন বার্তাগুলি পুনরুদ্ধার করার জন্য API অনুরোধগুলি YouTube-এর রিফ্রেশ হারের চেয়ে বেশি ঘন ঘন পাঠানো হয়, যা অপ্রয়োজনীয়ভাবে ব্যান্ডউইথ নষ্ট করে।