liveChatMessage kaynağı, YouTube canlı sohbetindeki bir sohbet mesajını temsil eder. Kaynak, yeni yayınlanan bir kısa mesaj veya destek etkinliği gibi çeşitli mesaj türleriyle ilgili ayrıntılar içerebilir.
Canlı sohbet özelliği, canlı yayınlarda varsayılan olarak etkindir ve canlı etkinlik devam ederken kullanılabilir. (Etkinlik bittikten sonra canlı sohbet özelliği 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 sohbette 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.
- sil
- Sohbet mesajını siler. API isteği, kanal sahibi veya canlı sohbet moderatörü tarafından yetkilendirilmelidir. Hemen deneyin.
Kaynak temsili
Aşağıdaki JSON yapısında, liveChatMessages kaynağının biçimi gösterilmektedir:
{
"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
},
"messageDeletedDetails": {
"deletedMessageId": 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
},
},
"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 olur. |
etag |
etagBu kaynağın ETag'i. |
id |
stringYouTube'un iletiyi benzersiz şekilde tanımlamak için atadığı kimlik. |
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 özelliğin geçerli değerleri şunlardır:
|
snippet.liveChatId |
stringİletinin 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 özelliğinde döndürülür. |
snippet.authorChannelId |
stringİletiyi 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 |
booleanİletinin, kullanıcılara gösterilmesi gereken görüntüleme içeriğine sahip 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ıldı. 28 Şubat 2017'den itibaren liveChatMessage kaynakları, Fan Funding etkinlikleriyle ilgili ayrıntıları döndürmeyecek.Bu nesne, bağış etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü fanFundingEvent ise bulunur. |
snippet.fanFundingEventDetails.amountMicros |
unsigned longNot: Bu özelliğin desteği sonlandırıldı. 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. Fon tutarını ve para birimini kullanıcıya gösteren oluşturulmuş bir dize. |
snippet.fanFundingEventDetails.userComment |
stringNot: Bu özellik kullanımdan kaldırılmıştır. Kullanıcının bu destek 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 bulunur. |
snippet.textMessageDetails.messageText |
stringKullanıcının mesajı. |
snippet.messageDeletedDetails |
objectBu nesne, bir sohbet moderatörü veya canlı yayın kanalının sahibi tarafından silinen bir mesajla ilgili ayrıntılar içerir. Yalnızca mesaj türü messageDeletedEvent ise bulunur. |
snippet.messageDeletedDetails.deletedMessageId |
stringSilinen iletiyi benzersiz şekilde tanımlayan kimlik. Değer, orijinal kısa mesajın id özellik değeriyle aynıdır. Örneğin, bir textMessageEvent öğesinin id özellik değeri 123 ise ve bu ileti daha sonra silinirse bu ileti için snippet.messageDeletedDetails.deletedMessageId değeri 123 olur.Sohbet iletilerini aldıktan sonra önbelleğe alırsanız artık gösterilmemesi gereken iletiyi belirlemek için bu özelliğin değerini kullanın. |
snippet.userBannedDetails |
objectBu nesne, sohbetten yasaklanan bir kullanıcıyla ilgili ayrıntıları içerir. Ayrıca, yasakla 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 bilgiler 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 longYasak süresi. Bu özellik yalnızca snippet.userBannedDetails.banType özelliğinin değeri temporary ise bulunur. |
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. Bu alan, üyenin yorumu olmayan iletiler için boştur. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integerİzleyicinin, bu üye dönüm noktası mesajını almasını sağlayan üyeliğinin toplam süresi (yukarı yuvarlanmış). Bu süre, YouTube kullanıcılarına gösterilen süreyle aynıdır. |
snippet.memberMilestoneChatDetails.memberLevelName |
stringİzleyicinin üyesi olduğu seviyenin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. 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 karşılığıdır.
|
snippet.newSponsorDetails.memberLevelName |
stringİzleyicinin üyesi olduğu seviyenin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. Bazı durumlarda bu alan doldurulmaz. |
snippet.newSponsorDetails.isUpgrade |
boolİzleyicinin kısa süre önce daha düşük bir seviyeden yükselip yükselmediğini gösterir. Satın alma işlemi sırasında üye olmayan izleyiciler için alan değeri false olur.
|
snippet.superChatDetails |
objectBu nesne, Super 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. Dizenin kullanıcıya gösterilmesi amaçlanmış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 bantta sabitleneceği süreyi belirler. Süper Chat katmanları YouTube Yardım Merkezi'nde belgelenmiştir. (Süper Chat satın alma ile ilgili ayrıntılı bilgi için 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 2. kademe vb. olarak sıralanır. |
snippet.superStickerDetails |
objectBu nesne, Super Sticker 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ülediğinde Super Sticker 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 Etiketlerle ilişkili olduğunu yalnızca referans amaçlı olarak 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 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. Dizenin kullanıcıya gösterilmesi amaçlanmış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, canlı sohbet kullanıcı arayüzünde mesajı öne çıkarmak 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 belgelenmiştir. (Süper Chat satın alma ile ilgili ayrıntılı bilgi için 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 sonucu. Toplam, 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, üyelik hediye etme 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 üyeliklerinin 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 tanımlanır. 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 üyesi olduğu seviyenin adı. Bu, ilişkili üyelik hediye etme mesajının snippet.membershipGiftingDetails.giftMembershipsLevelName ile eşleşir. Seviye adları, üyeliği sunan YouTube kanalı tarafından tanımlanır. Bazı durumlarda bu alan doldurulmaz. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
stringÜyelik hediye etme satın alma işlemini gerçekleştiren kullanıcının kimliği. Bu, ilişkili üyelik hediye etme 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, type değeri membershipGiftingEvent olan bir iletiyi her zaman ifade eder. |
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ı sohbet moderatörü olup olmadığını gösterir. |