Saat Anda pertama kali terhubung, API akan mengirimkan serangkaian pesan yang berisi histori chat terbaru. Saat pesan baru diposting, server akan terus mengirimkannya melalui koneksi yang terbuka.
Pesan dalam setiap respons server diurutkan dari yang terlama hingga terbaru. Setiap respons juga menyertakan
nextPageToken
. Jika klien Anda terputus, Anda dapat menggunakan token ini untuk melanjutkan streaming. Untuk melakukannya, berikan nextPageToken
terakhir yang Anda terima sebagai nilai untuk parameter pageToken
dalam permintaan koneksi baru Anda. Kemudian, API akan melanjutkan pengiriman pesan dari titik terakhir pengiriman sebelumnya.
Demo
Untuk demo Python dari endpoint ini, lihat panduan Streaming Live Chat.
Permintaan
Parameter
Tabel berikut mencantumkan parameter yang didukung kueri ini. Semua parameter yang tercantum adalah parameter kueri.
Parameter | ||
---|---|---|
Parameter yang diperlukan | ||
liveChatId |
string Parameter liveChatId menentukan ID chat yang pesannya akan ditampilkan. ID live chat yang terkait dengan siaran ditampilkan di properti snippet.liveChatId resource liveBroadcast . |
|
part |
string Parameter part menentukan bagian resource liveChatMessage yang akan disertakan dalam respons API. Nilai yang didukung adalah id , snippet , dan authorDetails . |
|
Parameter opsional | ||
hl |
string Parameter hl menginstruksikan API untuk mengambil string tampilan mata uang yang dilokalkan untuk bahasa aplikasi tertentu yang didukung situs YouTube. Misalnya, dalam bahasa Inggris, mata uang akan ditampilkan sebagai $1.50 , tetapi dalam bahasa Prancis, mata uang akan ditampilkan sebagai 1,50$ .Nilai parameter harus berupa kode bahasa yang disertakan dalam daftar yang ditampilkan oleh metode i18nLanguages.list . |
|
maxResults |
unsigned integer Parameter maxResults menentukan jumlah maksimum pesan yang harus ditampilkan dalam kumpulan hasil. Nilai yang dapat diterima adalah 200 hingga 2000 , inklusif. Nilai defaultnya adalah 500 . |
|
pageToken |
string Parameter pageToken mengidentifikasi halaman tertentu dalam set hasil yang harus ditampilkan. Dalam respons API, properti nextPageToken mengidentifikasi halaman lain yang dapat diambil. |
|
profileImageSize |
unsigned integer Parameter profileImageSize menentukan ukuran foto profil pengguna yang harus ditampilkan dalam kumpulan hasil. Gambar berbentuk persegi. Nilai defaultnya adalah 88 , yang berarti gambar akan berukuran 88 px x 88 px. Nilai yang dapat diterima berada dalam rentang 16 hingga 720 , inklusif. |
Isi permintaan
Jangan berikan isi permintaan saat memanggil metode ini.
Respons
Jika berhasil, metode ini akan menampilkan isi respons dengan struktur berikut:
{ "kind": "youtube#liveChatMessageListResponse", "etag": etag, "nextPageToken": string, "pollingIntervalMillis": unsigned integer, "offlineAt": datetime, "pageInfo": { "totalResults": integer, "resultsPerPage": integer }, "items": [ liveChatMessage Resource ], "activePollItem": liveChatMessage Resource }
Properti
Tabel berikut menentukan properti yang muncul di resource ini:
Properti | |
---|---|
kind |
string Mengidentifikasi jenis resource API. Nilainya adalah youtube#liveChatMessageListResponse . |
etag |
etag ETag resource ini. |
nextPageToken |
string Token yang dapat digunakan sebagai nilai parameter pageToken untuk mengambil halaman berikutnya dalam set hasil. |
offlineAt |
datetime Tanggal dan waktu saat livestream yang mendasarinya menjadi offline. Properti ini hanya ada jika streaming sudah offline. Nilai ditentukan dalam format ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). |
pageInfo |
object Objek pageInfo merangkum informasi penomoran halaman untuk set hasil. |
pageInfo.totalResults |
integer Jumlah total hasil dalam kumpulan hasil. |
pageInfo.resultsPerPage |
integer Jumlah hasil yang disertakan dalam respons API. |
items[] |
list Daftar pesan. Setiap item dalam daftar adalah resource liveChatMessage . |
activePollItem |
object Data polling dalam pesan. Setiap polling adalah resource liveChatMessage dengan jenis pollEvent , yang mewakili polling aktif. Hanya boleh ada satu polling per percakapan. |
Error
Tabel berikut mengidentifikasi pesan error yang dapat ditampilkan API sebagai respons terhadap panggilan ke metode ini. Lihat dokumentasi pesan error untuk mengetahui detail selengkapnya.
Saat menggunakan gRPC untuk terhubung:
Kode Error gRPC | Detail error | Deskripsi |
---|---|---|
PERMISSION_DENIED (7) |
The caller does not have permission |
Anda tidak memiliki izin yang diperlukan untuk mengambil pesan untuk live chat yang ditentukan. |
INVALID_ARGUMENT (3) |
Request contains an invalid argument |
Gagal mengurai parameter yang diberikan. Pastikan liveChatId dan parameter lainnya dalam format yang benar. |
FAILED_PRECONDITION (9) * |
Precondition check failed |
LIVE_CHAT_DISABLED. Live chat yang ditentukan dinonaktifkan. |
FAILED_PRECONDITION (9) * |
Precondition check failed |
LIVE_CHAT_ENDED. Anda tidak dapat mengambil pesan untuk percakapan live yang telah berakhir. |
NOT_FOUND (5) |
Requested entity was not found |
Live chat yang ingin Anda ambil tidak dapat ditemukan. Periksa nilai parameter liveChatId permintaan untuk memastikan nilainya sudah benar. |
RESOURCE_EXHAUSTED (8) |
Resource has been exhausted (e.g. check quota) |
Permintaan dikirim terlalu cepat setelah permintaan sebelumnya. Error ini terjadi saat permintaan API untuk mengambil pesan dikirim lebih sering daripada kecepatan refresh YouTube, yang membuang bandwidth secara tidak perlu. |
* Karena batasan gRPC, tidak mungkin membedakan berdasarkan kode error antara kasus LIVE_CHAT_DISABLED
dan kasus LIVE_CHAT_ENDED
. YouTube sedang berupaya secara aktif untuk menemukan solusi guna mengatasi masalah ini.
Saat menggunakan traffic web untuk menghubungkan:
Jenis Kesalahan | Detail error | Deskripsi |
---|---|---|
HttpStatus.FORBIDDEN (403) |
forbidden |
Anda tidak memiliki izin yang diperlukan untuk mengambil pesan untuk live chat yang ditentukan. |
HttpStatus.BAD_REQUEST (400) |
Reason for invalid request, e.g. pageTokenInvalid |
Gagal mengurai parameter yang diberikan. Pastikan liveChatId dan parameter lainnya dalam format yang benar. |
HttpStatus.FORBIDDEN (403) |
liveChatDisabled |
LIVE_CHAT_DISABLED. Live chat yang ditentukan dinonaktifkan. |
HttpStatus.FORBIDDEN (403) |
liveChatEnded |
LIVE_CHAT_ENDED. Anda tidak dapat mengambil pesan untuk percakapan live yang telah berakhir. |
HttpStatus.NOT_FOUND (404) |
liveChatNotFound |
Live chat yang ingin Anda ambil tidak dapat ditemukan. Periksa nilai parameter liveChatId permintaan untuk memastikan nilainya sudah benar. |
HttpStatus.FORBIDDEN (403) |
rateLimitExceeded |
Permintaan dikirim terlalu cepat setelah permintaan sebelumnya. Error ini terjadi saat permintaan API untuk mengambil pesan dikirim lebih sering daripada kecepatan refresh YouTube, yang membuang bandwidth secara tidak perlu. |