liveChatMessage kaynağı, YouTube canlı sohbetindeki bir sohbet mesajını temsil eder. Kaynak, yeni yayınlanan bir kısa mesaj veya takipçi desteği etkinliği de dahil olmak üzere çeşitli mesaj türleri hakkında ayrıntılar içerebilir.
Canlı sohbet özelliği, canlı yayınlar için varsayılan olarak etkindir ve canlı etkinlik devam ederken kullanılabilir. (Etkinlik sona erdikten sonra canlı sohbet artık kullanılamaz.)
Yöntemler
API, liveChatMessages kaynakları için aşağıdaki yöntemleri destekler:
- list
- Belirli bir sohbetin canlı sohbet mesajlarını listeler. Hemen deneyin.
- streamList
- Belirli bir sohbetteki canlı sohbet mesajlarını düşük gecikmeyle almak için sunucu akış bağlantısını etkinleştirir. Hemen deneyin.
- insert
- Canlı sohbete mesaj veya anket ekler. Hemen deneyin.
- transition
- Canlı mesajın durumunu değiştirir. Hemen deneyin.
- delete
- Sohbet mesajını siler. API isteği, kanal sahibi veya canlı sohbetin moderatörü tarafından yetkilendirilmelidir. Hemen deneyin.
Kaynak temsili
Aşağıdaki JSON yapısı, bir liveChatMessages kaynağının biçimini gösterir:
{
"kind": "youtube#liveChatMessage",
"etag": etag,
"id": string,
"snippet": {
"type": string,
"liveChatId": string,
"authorChannelId": string,
"publishedAt": datetime,
"hasDisplayContent": boolean,
"displayMessage": string,
"fanFundingEventDetails": {
"amountMicros": unsigned long,
"currency": string,
"amountDisplayString": string,
"userComment": string
},
"textMessageDetails": {
"messageText": string
},
"userBannedDetails": {
"bannedUserDetails": {
"channelId": string,
"channelUrl": string,
"displayName": string,
"profileImageUrl": string
},
"banType": string,
"banDurationSeconds": unsigned long
},
"memberMilestoneChatDetails": {
"userComment": string,
"memberMonth": unsigned integer,
"memberLevelName": string
},
"newSponsorDetails": {
"memberLevelName": string,
"isUpgrade": bool
},
"superChatDetails": {
"amountMicros": unsigned long,
"currency": string,
"amountDisplayString": string,
"userComment": string,
"tier": unsigned integer
},
"superStickerDetails": {
"superStickerMetadata": {
"stickerId": string,
"altText": string,
"language": string
},
"amountMicros": unsigned long,
"currency": string,
"amountDisplayString": string,
"tier": unsigned integer
},
"pollDetails": {
"metadata": {
"options": {
"optionText": string,
"tally": string,
},
"questionText": string,
"status": enum
},
},
"membershipGiftingDetails": {
"giftMembershipsCount": integer,
"giftMembershipsLevelName": string
},
"giftMembershipReceivedDetails": {
"memberLevelName": string,
"gifterChannelId": string,
"associatedMembershipGiftingMessageId": string
},
"giftDetails": {
"jewelsAmount": integer,
"giftName": string,
"giftUrl": string,
"giftDuration": object,
"seconds": integer,
"nanos": integer,
"hasVisualEffect": boolean,
"comboCount": integer,
"altText": string,
"language": string
},
},
"authorDetails": {
"channelId": string,
"channelUrl": string,
"displayName": string,
"profileImageUrl": string,
"isVerified": boolean,
"isChatOwner": boolean,
"isChatSponsor": boolean,
"isChatModerator": boolean
},
}Özellikler
Aşağıdaki tabloda, bu kaynakta görünen özellikler tanımlanmaktadır:
| Özellikler | |
|---|---|
kind |
stringAPI kaynağının türünü tanımlar. Değer youtube#liveChatMessage olacak. |
etag |
etagBu kaynağın Etag'i. |
id |
stringYouTube'un mesajı benzersiz şekilde tanımlamak için atadığı kimlik. Not: Hediye etkinliklerinde, aynı kimlik, kombinasyon sayısını güncellemek için yeniden kullanılabilir. |
snippet |
objectsnippet nesnesi, sohbet mesajıyla ilgili temel ayrıntıları içerir. |
snippet.type |
stringMesajın türü. Bu özellik her zaman mevcuttur ve değeri, kaynakta hangi alanların bulunduğunu belirler. Bu özellik için geçerli değerler şunlardır:
|
snippet.liveChatId |
stringMesajın ilişkilendirildiği canlı sohbeti benzersiz şekilde tanımlayan kimlik. Bir yayınla ilişkili canlı sohbet kimliği, liveBroadcast kaynağının snippet.liveChatId mülkünde döndürülür. |
snippet.authorChannelId |
stringMesajı yazan kullanıcının kimliği. Bu alan yalnızca aşağıdaki mesaj türleri için doldurulur:
|
snippet.publishedAt |
datetimeİletinin ilk yayınlandığı tarih ve saat. Değer, ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ) biçiminde belirtilir. |
snippet.hasDisplayContent |
booleanMesajda, kullanıcılara gösterilmesi gereken görüntüleme içeriği olup olmadığını belirtir. |
snippet.displayMessage |
stringKullanıcılara gösterilen bir dize içerir. İleti türü chatEndedEvent veya tombstone ise bu alan mevcut değildir. |
snippet.fanFundingEventDetails |
objectNot: Bu nesnenin ve alt mülklerinin desteği sonlandırılmıştır. 28 Şubat 2017'den itibaren liveChatMessage kaynakları, takipçi desteği etkinlikleriyle ilgili ayrıntıları döndürmeyecek.Bu nesne, takipçi desteği etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü fanFundingEvent ise gösterilir. |
snippet.fanFundingEventDetails.amountMicros |
unsigned longNot: Bu özelliğin desteği sonlandırılmıştır. Fonun tutarı. |
snippet.fanFundingEventDetails.currency |
stringNot: Bu özelliğin desteği sonlandırıldı. Fonun oluşturulduğu para birimi. |
snippet.fanFundingEventDetails.amountDisplayString |
stringNot: Bu özellik kullanımdan kaldırılmıştır. Kullanıcıya fon tutarını ve para birimini gösteren, oluşturulmuş bir dize. |
snippet.fanFundingEventDetails.userComment |
stringNot: Bu özelliğin desteği sonlandırıldı. Kullanıcının bu takipçi desteği etkinliğine eklediği yorum. |
snippet.textMessageDetails |
objectBu nesne, kısa mesajla ilgili ayrıntılar içerir. Yalnızca mesaj türü textMessageEvent ise gösterilir. |
snippet.textMessageDetails.messageText |
stringKullanıcının mesajı. |
snippet.userBannedDetails |
objectBu nesne, sohbette yasaklanan bir kullanıcıyla ilgili ayrıntıları içerir. Yasaklamayla ilgili ayrıntılar da yer alır. Kullanıcılar, sohbetlerden kalıcı veya geçici olarak yasaklanabilir. |
snippet.userBannedDetails.bannedUserDetails |
objectBu nesne, yasaklanan kullanıcıyla ilgili bilgileri içerir. |
snippet.userBannedDetails.bannedUserDetails.channelId |
stringYasaklanan kullanıcının YouTube kanal kimliği. |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
stringYasaklanan kullanıcının YouTube kanalının URL'si. |
snippet.userBannedDetails.bannedUserDetails.displayName |
stringYasaklanan kullanıcının YouTube kanalının görünen adı. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
stringYasaklanan kullanıcının YouTube kanalının avatarı. |
snippet.userBannedDetails.banType |
stringYasak türü. Bu özellik için geçerli değerler şunlardır:
|
snippet.userBannedDetails.banDurationSeconds |
unsigned longYasaklama süresi. Bu özellik yalnızca snippet.userBannedDetails.banType özellik değeri temporary ise mevcuttur. |
snippet.memberMilestoneChatDetails |
objectBu nesne, üye dönüm noktası etkinliği ile ilgili ayrıntıları içerir. Yalnızca mesaj türü memberMilestoneChatEvent ise bulunur. |
snippet.memberMilestoneChatDetails.userComment |
stringÜyenin bu Üye Dönüm Noktası Mesajı'na eklediği yorum. Üyenin yorum yapmadığı mesajlar için bu alan boş bırakılır. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integerİzleyicinin üye olduğu ve bu Üye Dönüm Noktası Mesajı'nı kazandığı toplam ay sayısı (yukarı yuvarlanmış). Bu, YouTube kullanıcılarına gösterilen ay sayısıyla aynıdır. |
snippet.memberMilestoneChatDetails.memberLevelName |
stringİzleyicinin üye olduğu seviyenin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından tanımlanır. Bazı durumlarda bu alan doldurulmaz. |
snippet.newSponsorDetails |
objectBu nesne, yeni üye duyurusu etkinliğiyle ilgili ayrıntıları içerir. Bu yalnızca tür newSponsorEvent ise ayarlanır. "Üye", "sponsor" teriminin yerine kullanılır.
|
snippet.newSponsorDetails.memberLevelName |
stringİzleyicinin üye olduğu seviyenin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. Bazı durumlarda bu alan doldurulmaz. |
snippet.newSponsorDetails.isUpgrade |
boolİzleyicinin daha düşük bir seviyeden yeni yükseltme yapıp yapmadığını gösterir. Satın alma sırasında üye olmayan izleyiciler için alan değeri false olur.
|
snippet.superChatDetails |
objectBu nesne, bir Süper Chat etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü superChatEvent ise bulunur. |
snippet.superChatDetails.amountMicros |
unsigned longSatın alma para biriminin mikro cinsinden satın alma tutarı. Örneğin, satın alma tutarı bir dolarsa snippet.amountMicros özelliği değeri 1000000 olur. |
snippet.superChatDetails.currency |
stringSatın alma işleminin yapıldığı para birimi. Değer, ISO 4217 para birimi kodudur. |
snippet.superChatDetails.amountDisplayString |
stringSatın alma tutarını ve para birimini içeren $1.00 gibi bir dize. Dize, kullanıcıya gösterilmek üzere tasarlanmıştır. |
snippet.superChatDetails.userComment |
stringKullanıcının bu Süper Chat etkinliğine eklediği yorum. |
snippet.superChatDetails.tier |
unsigned integerÜcretli mesajın katmanı. superChatEvent kaynağında snippet.messageType özelliğinin bu değeri içerdiğini unutmayın.Katman, mesajı satın almak için harcanan para miktarına göre belirlenir. Ayrıca, canlı sohbet kullanıcı arayüzünde mesajı vurgulamak için kullanılan rengi, maksimum mesaj uzunluğunu ve mesajın bilgi akışına sabitlendiği süreyi de belirler. Süper Chat katmanları YouTube Yardım Merkezi'nde açıklanmıştır. (Süper Chat satın alma ayrıntılarıyla ilgili genişletilebilir bölüme bakın.) Bu listede, en düşük satın alma tutarına sahip kademe 1. kademe, sonraki en düşük tutar ise 2. kademe vb. olarak sıralanır. |
snippet.superStickerDetails |
objectBu nesne, Süper Etiket etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü superStickerEvent ise bulunur. |
snippet.superStickerDetails.superStickerMetadata |
objectSüper Etiket ile ilgili ayrıntılar. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
stringÇıkartma resmini tanımlayan benzersiz kimlik. Resmin yalnızca kullanıcılar YouTube'da sohbet penceresini görüntülerken Süper Etiket mesajının bir parçası olarak gösterildiğini unutmayın. Ancak resim URL'si API kullanılarak alınamaz. Hangi çıkartma kimliklerinin hangi Süper Etiketler ile ilgili olduğunu bu CSV dosyasında bulabilirsiniz. |
snippet.superStickerDetails.superStickerMetadata.altText |
stringÇıkartmayı açıklayan bir metin dizesi. snippet.superStickerDetails.superStickerMetadata.language alanı, metnin dilini tanımlar. liveChatMessages.list yöntemini çağırırken hl parametre değerini metin için seçilen dile ayarlayın. |
snippet.superStickerDetails.superStickerMetadata.language |
stringsnippet.superStickerDetails.superStickerMetadata.altText özellik değerinin dili. |
snippet.superStickerDetails.amountMicros |
unsigned longSatın alma para biriminin mikro birimi cinsinden satın alma tutarı. Örneğin, satın alma tutarı bir dolarsa snippet.amountMicros özelliği değeri 1000000 olur. |
snippet.superStickerDetails.currency |
stringSatın alma işleminin yapıldığı para birimi. Değer, ISO 4217 para birimi kodudur. |
snippet.superStickerDetails.amountDisplayString |
stringSatın alma tutarını ve para birimini içeren $1.00 gibi bir dize. Dize, kullanıcıya gösterilmek üzere tasarlanmıştır. |
snippet.superStickerDetails.tier |
unsigned integerÜcretli mesajın katmanı. superChatEvent kaynağında snippet.messageType özelliğinin bu değeri içerdiğini unutmayın.Katman, mesajı satın almak için harcanan para miktarına göre belirlenir. Ayrıca, mesajın canlı sohbet kullanıcı arayüzünde vurgulanması için kullanılan rengi, maksimum mesaj uzunluğunu ve mesajın bantta sabitleneceği süreyi belirler. Süper Etiketler'i de kapsayan Süper Chat katmanları YouTube Yardım Merkezi'nde açıklanmıştır. (Süper Chat satın alma ayrıntılarıyla ilgili genişletilebilir bölüme bakın.) Bu listede, en düşük satın alma tutarına sahip kademe 1. kademe, sonraki en düşük tutar ise 2. kademe vb. olarak sıralanır. |
snippet.pollDetails |
objectBu nesne, anket etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü pollEvent ise bulunur. |
snippet.pollDetails.metadata |
objectAnket etkinliğiyle ilgili ayrıntılar. |
snippet.pollDetails.metadata.options |
objectCanlı anketteki seçenekler. |
snippet.pollDetails.metadata.options.optionText |
stringCanlı anket seçeneğinin metni. |
snippet.pollDetails.metadata.options.tally |
stringCanlı anket seçeneğinin toplamı. Sayım yalnızca API isteği kanal sahibi tarafından yetkilendirilirse gösterilir. |
snippet.pollDetails.metadata.questionText |
stringCanlı anket sorusunun metni. |
snippet.pollDetails.metadata.status |
enumCanlı anket etkinliğinin durumu. Bu özellik için geçerli değerler şunlardır:
|
snippet.membershipGiftingDetails |
objectBu nesne, hediye üyelik etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type, membershipGiftingEvent ise gösterilir. |
snippet.membershipGiftingDetails.giftMembershipsCount |
integerKullanıcı tarafından satın alınan hediye üyeliklerin sayısı. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
stringKullanıcı tarafından satın alınan hediye üyeliklerin seviyesinin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. Bazı durumlarda bu alan doldurulmaz. |
snippet.giftMembershipReceivedDetails |
objectBu nesne, hediye üyelik alma etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type giftMembershipReceivedEvent ise gösterilir. |
snippet.giftMembershipReceivedDetails.memberLevelName |
stringİzleyicinin üye olduğu seviyenin adı. Bu, ilişkili hediye üyelik mesajının snippet.membershipGiftingDetails.giftMembershipsLevelName ile eşleşir. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. Bazı durumlarda bu alan doldurulmaz. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
stringHediye üyelik satın alan kullanıcının kimliği. Bu, ilişkili hediye üyelik mesajının snippet.authorChannelId ile eşleşir. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
stringBu hediye üyeliğiyle ilişkili üyelik hediye etme mesajının kimliği. Bu kimlik her zaman type değeri membershipGiftingEvent olan bir mesajı ifade eder. |
snippet.giftDetails |
objectBu nesne, bir hediye etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type giftEvent ise gösterilir. |
snippet.giftDetails.jewelsAmount |
integerHediye için kullanılan mücevher miktarı. |
snippet.giftDetails.giftName |
stringHediyenin adı. |
snippet.giftDetails.giftUrl |
stringHediye öğesinin URL'si. |
snippet.giftDetails.giftDuration |
objectHediye URL'sinin gösterileceği süre. |
snippet.giftDetails.giftDuration.seconds |
integerHediye URL'sinin gösterileceği süre (saniye). |
snippet.giftDetails.giftDuration.nanos |
integerHediye URL'sinin gösterileceği nanosaniye sayısı. |
snippet.giftDetails.hasVisualEffect |
booleanHediyenin görsel efekti olup olmadığı. |
snippet.giftDetails.comboCount |
integerHediyenin combo sayısı. Combo değilse 0'dır. |
snippet.giftDetails.altText |
stringHediyeyi açıklayan bir metin dizesi. |
snippet.giftDetails.language |
stringaltText özellik değerinin dili. |
authorDetails |
objectauthorDetails nesnesi, bu mesajı yayınlayan kullanıcıyla ilgili ek ayrıntılar içerir. |
authorDetails.channelId |
stringYazarın YouTube kanal kimliği. |
authorDetails.channelUrl |
stringYazarın YouTube kanalının URL'si. |
authorDetails.displayName |
stringYazarın YouTube kanalının görünen adı. |
authorDetails.profileImageUrl |
stringYazarın YouTube kanalının avatar URL'si. |
authorDetails.isVerified |
booleanBu değer, yazarın kimliğinin YouTube tarafından doğrulanıp doğrulanmadığını gösterir. |
authorDetails.isChatOwner |
booleanBu değer, yazarın canlı sohbetin sahibi olup olmadığını gösterir. |
authorDetails.isChatSponsor |
booleanBu değer, yazarın canlı sohbetin sponsoru olup olmadığını gösterir. |
authorDetails.isChatModerator |
booleanBu değer, yazarın canlı sohbetin moderatörü olup olmadığını gösterir. |