पहली बार कनेक्ट करने पर, एपीआई हाल ही की चैट का इतिहास दिखाने वाले मैसेज की एक सीरीज़ भेजता है. नए मैसेज पोस्ट किए जाने पर, सर्वर उन्हें खुले कनेक्शन के ज़रिए भेजता रहेगा.
सर्वर से मिले हर जवाब में मौजूद मैसेज, सबसे पुराने से लेकर सबसे नए के क्रम में लगाए जाते हैं. हर जवाब में एक
nextPageToken भी शामिल होता है. अगर आपका क्लाइंट डिसकनेक्ट हो जाता है, तो स्ट्रीम फिर से शुरू करने के लिए इस टोकन का इस्तेमाल किया जा सकता है. ऐसा करने के लिए, कनेक्शन के नए अनुरोध में pageToken पैरामीटर की वैल्यू के तौर पर, आपको मिला आखिरी nextPageToken दें. इसके बाद, एपीआई वहीं से मैसेज भेजना फिर से शुरू करेगा जहां आपने छोड़ा था.
कोटा पर असर: इस तरीके को कॉल करने पर, 5 यूनिट का कोटा खर्च होता है.
डेमो
इस एंडपॉइंट के Python डेमो के लिए, लाइव चैट स्ट्रीम करना गाइड देखें.
अनुरोध
पैरामीटर
यहां दी गई टेबल में उन पैरामीटर की सूची दी गई है जो इस क्वेरी के साथ काम करते हैं. यहां दिए गए सभी पैरामीटर, क्वेरी पैरामीटर हैं.
| पैरामीटर | ||
|---|---|---|
| ज़रूरी पैरामीटर | ||
liveChatId |
stringliveChatId पैरामीटर, उस चैट का आईडी तय करता है जिसके मैसेज दिखाए जाएंगे. ब्रॉडकास्ट से जुड़ा लाइव चैट आईडी, liveBroadcast संसाधन की snippet.liveChatId प्रॉपर्टी में दिखता है. |
|
part |
stringpart पैरामीटर से यह तय होता है कि एपीआई से मिली जानकारी में, liveChatMessage संसाधन के कौनसे हिस्से शामिल होंगे. id, snippet, और authorDetails इस्तेमाल की जा सकने वाली वैल्यू हैं. |
|
| वैकल्पिक पैरामीटर | ||
hl |
stringhl पैरामीटर, एपीआई को YouTube वेबसाइट पर इस्तेमाल की जा सकने वाली किसी खास भाषा के लिए, स्थानीय मुद्रा दिखाने वाली स्ट्रिंग को वापस पाने का निर्देश देता है. उदाहरण के लिए, अंग्रेज़ी में मुद्रा को $1.50 के तौर पर दिखाया जाएगा, लेकिन फ़्रेंच में इसे 1,50$ के तौर पर दिखाया जाएगा.पैरामीटर वैल्यू, i18nLanguages.list तरीके से मिली सूची में शामिल भाषा कोड होनी चाहिए. |
|
maxResults |
unsigned integer
कंटिन्यूएशन टोकन के बिना किए गए शुरुआती अनुरोध में, सिर्फ़ सबसे हाल के इवेंट शामिल होंगे. अगर एपीआई, उन इवेंट को वापस नहीं लाता जो बिना कंटिन्यूएशन टोकन के किए गए शुरुआती अनुरोध से मिले इवेंट से पुराने हैं. |
|
pageToken |
stringpageToken पैरामीटर, नतीजों के सेट में मौजूद उस पेज की पहचान करता है जिसे दिखाया जाना चाहिए. एपीआई से मिली जानकारी में, nextPageToken प्रॉपर्टी उन अन्य पेजों की पहचान करती है जिन्हें वापस लाया जा सकता है. |
|
profileImageSize |
unsigned integerprofileImageSize पैरामीटर, उपयोगकर्ता की प्रोफ़ाइल फ़ोटो का साइज़ तय करता है. यह साइज़, नतीजों के सेट में दिखना चाहिए. इमेज स्क्वेयर हों. डिफ़ॉल्ट वैल्यू 88 है. इसका मतलब है कि इमेज 88 पिक्सल x 88 पिक्सल की होंगी. इसकी वैल्यू 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इससे एपीआई संसाधन के टाइप की पहचान होती है. वैल्यू youtube#liveChatMessageListResponse होगी. |
etag |
etagइस संसाधन का Etag. |
nextPageToken |
stringवह टोकन जिसका इस्तेमाल pageToken पैरामीटर की वैल्यू के तौर पर किया जा सकता है, ताकि नतीजों के सेट में अगला पेज वापस लाया जा सके. |
offlineAt |
datetimeवह तारीख और समय जब लाइव स्ट्रीम ऑफ़लाइन हो गई थी. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब स्ट्रीम पहले से ऑफ़लाइन हो. वैल्यू, आईएसओ 8601 ( YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में दी गई है. |
pageInfo |
objectpageInfo ऑब्जेक्ट, नतीजों के सेट के लिए पेजिंग की जानकारी को एन्कैप्सुलेट करता है. |
pageInfo.totalResults |
integerनतीजे के सेट में मौजूद नतीजों की कुल संख्या. |
pageInfo.resultsPerPage |
integerएपीआई से मिली जानकारी में शामिल नतीजों की संख्या. |
items[] |
listमैसेज की सूची. सूची में मौजूद हर आइटम, एक liveChatMessage संसाधन होता है. |
activePollItem |
objectमैसेज में मौजूद पोल का डेटा. हर पोल एक liveChatMessage संसाधन होता है. इसका टाइप pollEvent होता है, जो किसी चालू पोल को दिखाता है. हर चैट में सिर्फ़ एक पोल हो सकता है. |
गड़बड़ियां
यहां दी गई टेबल में, गड़बड़ी के उन मैसेज के बारे में बताया गया है जो इस तरीके को कॉल करने पर, एपीआई से मिल सकते हैं. ज़्यादा जानकारी के लिए, गड़बड़ी के मैसेज वाला दस्तावेज़ देखें.
कनेक्ट करने के लिए gRPC का इस्तेमाल करते समय:
| gRPC गड़बड़ी का कोड | गड़बड़ी की जानकारी | ब्यौरा |
|---|---|---|
PERMISSION_DENIED (7) |
The caller does not have permission |
आपके पास, चुनी गई लाइव चैट के मैसेज वापस पाने के लिए ज़रूरी अनुमतियां नहीं हैं. |
INVALID_ARGUMENT (3) |
Request contains an invalid argument |
दिए गए पैरामीटर को पार्स नहीं किया जा सका. पक्का करें कि liveChatId और अन्य पैरामीटर सही फ़ॉर्मैट में हों. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
LIVE_CHAT_DISABLED. आपने जिस लाइव चैट का आईडी दिया है वह बंद है. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
लाइव चैट खत्म हो गई है. लाइव चैट खत्म होने के बाद, मैसेज वापस नहीं लाए जा सकते. |
NOT_FOUND (5) |
Requested entity was not found |
आपको जिस लाइव चैट को वापस लाना है वह नहीं मिली. अनुरोध के liveChatId पैरामीटर की वैल्यू की जांच करें, ताकि यह पक्का किया जा सके कि वह सही है. |
RESOURCE_EXHAUSTED (8) |
Resource has been exhausted (e.g. check quota) |
पिछले अनुरोध के तुरंत बाद ही अनुरोध भेजा गया. यह गड़बड़ी तब होती है, जब मैसेज पाने के लिए एपीआई अनुरोध, YouTube के रीफ़्रेश रेट से ज़्यादा बार भेजे जाते हैं. इससे बैंडविड्थ की बर्बादी होती है. |
* gRPC की सीमा की वजह से, गड़बड़ी कोड के आधार पर LIVE_CHAT_DISABLED और LIVE_CHAT_ENDED के बीच अंतर नहीं किया जा सकता. YouTube इस समस्या को ठीक करने के लिए, लगातार काम कर रहा है.
कनेक्ट करने के लिए वेब ट्रैफ़िक का इस्तेमाल करते समय:
| गड़बड़ी प्रकार | गड़बड़ी की जानकारी | ब्यौरा |
|---|---|---|
HttpStatus.FORBIDDEN (403) |
forbidden |
आपके पास, चुनी गई लाइव चैट के मैसेज वापस पाने के लिए ज़रूरी अनुमतियां नहीं हैं. |
HttpStatus.BAD_REQUEST (400) |
Reason for invalid request, e.g. pageTokenInvalid |
दिए गए पैरामीटर पार्स नहीं किए जा सके. पक्का करें कि liveChatId और अन्य पैरामीटर सही फ़ॉर्मैट में हों. |
HttpStatus.FORBIDDEN (403) |
liveChatDisabled |
LIVE_CHAT_DISABLED. आपने जिस लाइव चैट का आईडी दिया है वह बंद है. |
HttpStatus.FORBIDDEN (403) |
liveChatEnded |
लाइव चैट खत्म हो गई है. लाइव चैट खत्म होने के बाद, उसके मैसेज वापस नहीं पाए जा सकते. |
HttpStatus.NOT_FOUND (404) |
liveChatNotFound |
आपको जिस लाइव चैट को वापस लाना है वह नहीं मिली. अनुरोध के liveChatId पैरामीटर की वैल्यू की जांच करें, ताकि यह पक्का किया जा सके कि वह सही है. |
HttpStatus.FORBIDDEN (403) |
rateLimitExceeded |
यह अनुरोध, पिछले अनुरोध के तुरंत बाद भेजा गया था. यह गड़बड़ी तब होती है, जब मैसेज पाने के लिए एपीआई अनुरोध, YouTube के रीफ़्रेश रेट से ज़्यादा बार भेजे जाते हैं. इससे बैंडविड्थ की बर्बादी होती है. |