पहली बार कनेक्ट करने पर, एपीआई हाल ही की चैट का इतिहास दिखाने वाले मैसेज की एक सीरीज़ भेजता है. नए मैसेज पोस्ट होने पर, सर्वर उन्हें खुले कनेक्शन के ज़रिए भेजता रहेगा.
सर्वर से मिले हर जवाब में मौजूद मैसेज, सबसे पुराने से लेकर सबसे नए के क्रम में होते हैं. हर जवाब में
nextPageToken
भी शामिल होता है. अगर आपका क्लाइंट डिसकनेक्ट हो जाता है, तो स्ट्रीम फिर से शुरू करने के लिए इस टोकन का इस्तेमाल किया जा सकता है. इसके लिए, कनेक्शन के नए अनुरोध में pageToken
पैरामीटर की वैल्यू के तौर पर, आपको मिला आखिरी nextPageToken
डालें. इसके बाद, एपीआई वहीं से मैसेज भेजना शुरू कर देगा जहाँ आपने छोड़ा था.
डेमो
इस एंडपॉइंट के Python डेमो के लिए, लाइव चैट स्ट्रीम करना गाइड देखें.
अनुरोध
पैरामीटर
यहां दी गई टेबल में उन पैरामीटर के बारे में बताया गया है जो इस क्वेरी के साथ काम करते हैं. यहां दिए गए सभी पैरामीटर, क्वेरी पैरामीटर हैं.
पैरामीटर | ||
---|---|---|
ज़रूरी पैरामीटर | ||
liveChatId |
string liveChatId पैरामीटर, उस चैट का आईडी तय करता है जिसके मैसेज दिखाए जाएंगे. ब्रॉडकास्ट से जुड़ा लाइव चैट आईडी, liveBroadcast संसाधन की snippet.liveChatId प्रॉपर्टी में दिखता है. |
|
part |
string part पैरामीटर, liveChatMessage संसाधन के उन हिस्सों के बारे में बताता है जिन्हें एपीआई रिस्पॉन्स में शामिल किया जाएगा. id , snippet , और authorDetails को वैल्यू के तौर पर इस्तेमाल किया जा सकता है. |
|
ज़रूरी नहीं पैरामीटर | ||
hl |
string hl पैरामीटर, एपीआई को निर्देश देता है कि वह किसी खास ऐप्लिकेशन की भाषा के लिए, मुद्रा दिखाने वाली स्ट्रिंग को स्थानीय भाषा में दिखाए. यह भाषा, YouTube की वेबसाइट पर इस्तेमाल की जा सकती है. उदाहरण के लिए, अंग्रेज़ी में मुद्रा को $1.50 के तौर पर दिखाया जाएगा, लेकिन फ़्रेंच में इसे 1,50$ के तौर पर दिखाया जाएगा.पैरामीटर की वैल्यू, i18nLanguages.list तरीके से मिली सूची में शामिल भाषा कोड होना चाहिए. |
|
maxResults |
unsigned integer maxResults पैरामीटर, उन मैसेज की ज़्यादा से ज़्यादा संख्या के बारे में बताता है जिन्हें नतीजे के सेट में दिखाया जाना चाहिए. मान्य वैल्यू 200 से 2000 तक हैं. इसमें 200 और 2000 भी शामिल हैं. डिफ़ॉल्ट वैल्यू 500 है. |
|
pageToken |
string pageToken पैरामीटर, नतीजों के सेट में मौजूद उस पेज की पहचान करता है जिसे दिखाया जाना चाहिए. एपीआई रिस्पॉन्स में, nextPageToken प्रॉपर्टी से उन अन्य पेजों की पहचान होती है जिन्हें वापस पाया जा सकता है. |
|
profileImageSize |
unsigned integer profileImageSize पैरामीटर, उपयोगकर्ता की प्रोफ़ाइल फ़ोटो का वह साइज़ तय करता है जिसे नतीजों के सेट में दिखाया जाना चाहिए. इमेज स्क्वेयर हैं. डिफ़ॉल्ट वैल्यू 88 है. इसका मतलब है कि फ़ोटो 88 पिक्सल x 88 पिक्सल की होंगी. मान्य वैल्यू, 16 से 720 के बीच की होनी चाहिए. इसमें 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 वह तारीख और समय जब लाइवस्ट्रीम ऑफ़लाइन हो गई थी. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब स्ट्रीम पहले से ऑफ़लाइन हो. वैल्यू को ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ) फ़ॉर्मैट में तय किया जाता है. |
pageInfo |
object pageInfo ऑब्जेक्ट, नतीजों के सेट के लिए पेजिंग की जानकारी शामिल करता है. |
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 की रीफ़्रेश रेट से ज़्यादा बार भेजे जा रहे हों. इससे बैंडविथ बेवजह खर्च होती है. |