पहली बार कनेक्ट करने पर, एपीआई हाल ही की चैट के इतिहास वाले मैसेज की एक सीरीज़ भेजता है. नए मैसेज पोस्ट होने पर, सर्वर उन्हें खुले कनेक्शन के ज़रिए भेजता रहेगा.
सर्वर से मिले हर जवाब में मौजूद मैसेज, सबसे पुराने से लेकर सबसे नए मैसेज के क्रम में होते हैं. हर जवाब में
nextPageToken भी शामिल होता है. अगर आपका क्लाइंट डिसकनेक्ट हो जाता है, तो स्ट्रीम फिर से शुरू करने के लिए इस टोकन का इस्तेमाल किया जा सकता है. इसके लिए, नए कनेक्शन के अनुरोध में pageToken पैरामीटर की वैल्यू के तौर पर, आपको मिला आखिरी nextPageToken डालें. इसके बाद, एपीआई वहीं से मैसेज भेजना शुरू कर देगा जहाँ आपने छोड़ा था.
डेमो
इस एंडपॉइंट के 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 के बीच की होनी चाहिए. इसमें 16 और 720 भी शामिल हैं. |
|
अनुरोध का मुख्य भाग
इस तरीके को कॉल करते समय, अनुरोध का मुख्य हिस्सा न दें.
जवाब
अगर अनुरोध सही से काम करता है, तो यह तरीका जवाब के मुख्य हिस्से में नीचे दिया गया स्ट्रक्चर दिखाता है:
{
"kind": "youtube#liveChatMessageListResponse",
"etag": etag,
"nextPageToken": string,
"pollingIntervalMillis": unsigne{d 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वह तारीख और समय जब लाइव स्ट्रीम ऑफ़लाइन हो गई थी. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब स्ट्रीम पहले से ऑफ़लाइन हो. वैल्यू को ISO 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 |
LIVE_CHAT_ENDED. लाइव चैट खत्म होने के बाद, उसके मैसेज वापस नहीं लाए जा सकते. |
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 |
LIVE_CHAT_ENDED. लाइव चैट खत्म होने के बाद, उसके मैसेज वापस नहीं लाए जा सकते. |
HttpStatus.NOT_FOUND (404) |
liveChatNotFound |
आपको जिस लाइव चैट को वापस लाना है वह नहीं मिली. अनुरोध के liveChatId पैरामीटर की वैल्यू देखें और पक्का करें कि यह सही हो. |
HttpStatus.FORBIDDEN (403) |
rateLimitExceeded |
यह अनुरोध, पिछले अनुरोध के तुरंत बाद भेजा गया था. यह गड़बड़ी तब होती है, जब मैसेज पाने के लिए एपीआई अनुरोध, YouTube की रीफ़्रेश रेट से ज़्यादा बार भेजे जा रहे हों. इससे बैंडविथ बेवजह खर्च होती है. |