عند الاتصال لأول مرة، ترسل واجهة برمجة التطبيقات سلسلة من الرسائل التي تحتوي على سجلّ المحادثات الأخير. وعند نشر رسائل جديدة، سيواصل الخادم إرسالها من خلال الاتصال المفتوح.
يتم ترتيب الرسائل في كل ردّ من الخادم من الأقدم إلى الأحدث. يتضمّن كل رد أيضًا
nextPageToken. إذا انقطع اتصال العميل، يمكنك استخدام هذا الرمز المميّز لاستئناف البث. لإجراء ذلك، قدِّم آخر nextPageToken تلقّيته كقيمة لمَعلمة pageToken في طلب الاتصال الجديد. ستستأنف واجهة برمجة التطبيقات بعد ذلك إرسال الرسائل من النقطة التي توقفت عندها.
التأثير في الحصة: تبلغ تكلفة الحصة لطلب هذه الطريقة 5 وحدات.
عرض توضيحي
للحصول على عرض توضيحي بلغة Python لنقطة النهاية هذه، يُرجى الاطّلاع على دليل البث المباشر للمحادثة المباشرة.
طلب
المعلمات
يعرض الجدول التالي المَعلمات التي يتيحها هذا الطلب. جميع المَعلمات المدرَجة هي مَعلمات طلب البحث.
| المعلمات | ||
|---|---|---|
| المَعلمات المطلوبة | ||
liveChatId |
stringتحدّد المَعلمة liveChatId معرّف المحادثة التي سيتم عرض رسائلها. يتم عرض معرّف المحادثة المباشرة المرتبط ببث في السمة snippet.liveChatId للمورد liveBroadcast. |
|
part |
stringتحدّد المَعلمة part أجزاء المورد liveChatMessage التي سيتضمّنها الردّ من واجهة برمجة التطبيقات. القيمتان المسموح بهما هما id وsnippet وauthorDetails. |
|
| المَعلمات الاختيارية | ||
hl |
stringتطلب المَعلمة hl من واجهة برمجة التطبيقات استرداد سلسلة عرض عملة مترجَمة للغة تطبيق معيّنة يتيحها موقع YouTube الإلكتروني. على سبيل المثال، باللغة الإنجليزية، سيتم عرض العملة على النحو التالي: $1.50، ولكن باللغة الفرنسية، سيتم عرضها على النحو التالي: 1,50$.يجب أن تكون قيمة المَعلمة رمز لغة مضمّنًا في القائمة التي تعرضها طريقة i18nLanguages.list. |
|
maxResults |
unsigned integerتحدّد المَعلمة سيتضمّن الطلب الأوّلي الذي تم إجراؤه بدون رمز مميّز لمواصلة البحث الأحداث الأحدث فقط. قد تكون هذه القيمة أقل من لا تسترد واجهة برمجة التطبيقات الأحداث الأقدم من تلك التي تم عرضها من خلال الطلب الأولي الذي تم إجراؤه بدون رمز مميّز للمتابعة. |
|
pageToken |
stringتحدّد المَعلمة pageToken صفحة معيّنة في مجموعة النتائج التي يجب عرضها. في الردّ من واجهة برمجة التطبيقات، تحدّد السمة nextPageToken الصفحات الأخرى التي يمكن استرجاعها. |
|
profileImageSize |
unsigned integerتحدّد المَعلمة profileImageSize حجم صور الملفات الشخصية للمستخدمين التي يجب عرضها في مجموعة النتائج. الصور مربّعة. القيمة التلقائية هي 88، ما يعني أنّ الصور ستكون 88 بكسل × 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تاريخ ووقت انتهاء البث المباشر الأساسي لا تظهر هذه السمة إلا إذا كان البث غير متاح. يتم تحديد القيمة بتنسيق 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، ما يؤدي إلى إهدار معدل نقل البيانات بدون داعٍ. |