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 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 sona erdikten sonra canlı sohbet özelliği kullanılamaz.)
Yöntemler
API, liveChatMessages kaynakları için aşağıdaki yöntemleri destekler:
- list
- Belirli bir sohbetteki 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 (ekle)
- Canlı sohbete mesaj veya anket ekler. Hemen deneyin.
- transition
- Yayındaki bir mesajın durumunu değiştirir. Hemen deneyin.
- delete
- 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ı, 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
},
"giftEventDetails": {
"giftMetadata": {
"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 olur. |
etag |
etagBu kaynağın ETag'i. |
id |
stringYouTube'un iletiyi 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 ö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 özelliklerinin 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. 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 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.userBannedDetails |
objectBu nesne, sohbetten yasaklanan bir kullanıcıyla ilgili ayrıntıları içerir. Ayrıca, 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 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 longYasaklamanın süresi. Bu özellik yalnızca snippet.userBannedDetails.banType özellik 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. Üyeden yorum içermeyen iletiler için bu alan 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 daha düşük bir seviyeden yeni yükseldiğ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. 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 bantta sabitleneceği süreyi de belirler. Süper Chat katmanları YouTube Yardım Merkezi'nde belgelenmiştir. (Süper Chat satın alma ile ilgili ayrıntılı bilgilerin yer aldığı genişletilebilir bölüme bakın.) Bu listede, en düşük satın alma tutarına sahip katman 1. katman, bir sonraki en düşük tutara sahip katman 2. katman vb. olur. |
snippet.superStickerDetails |
objectBu nesne, Super Stickers 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. Yalnızca referans için, hangi çıkartma kimliklerinin hangi Super Stickers ile ilişkili 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öntemi çağrılı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. 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 belgelenmiştir. (Süper Chat satın alma ile ilgili ayrıntılı bilgilerin yer aldığı 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. olur. |
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, 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 ü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 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 ü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 belirlenir. 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 her zaman type değeri membershipGiftingEvent olan bir iletiyi ifade eder. |
snippet.giftEventDetails |
objectBu nesne, hediye etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type giftEvent ise gösterilir. |
snippet.giftEventDetails.giftMetadata |
objectHediye etkinliğiyle ilgili ayrıntılar. |
snippet.giftEventDetails.giftMetadata.jewelsAmount |
integerHediye için kullanılan mücevher miktarı. |
snippet.giftEventDetails.giftMetadata.giftName |
stringHediyenin adı. |
snippet.giftEventDetails.giftMetadata.giftUrl |
stringHediye öğesinin URL'si. |
snippet.giftEventDetails.giftMetadata.giftDuration |
objectHediye URL'sinin gösterileceği süre. |
snippet.giftEventDetails.giftMetadata.giftDuration.seconds |
integerHediye URL'sinin gösterileceği saniye sayısı. |
snippet.giftEventDetails.giftMetadata.giftDuration.nanos |
integerHediye URL'sinin gösterileceği nanosaniye sayısı. |
snippet.giftEventDetails.giftMetadata.hasVisualEffect |
booleanHediyenin görsel efekti olup olmadığı |
snippet.giftEventDetails.giftMetadata.comboCount |
integerHediyenin combo sayısı; combo değilse 0. |
snippet.giftEventDetails.giftMetadata.altText |
stringHediyeyi açıklayan bir metin dizesi. |
snippet.giftEventDetails.giftMetadata.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ı sohbet moderatörü olup olmadığını gösterir. |