LiveChatMessages

liveChatMessage kaynağı, YouTube canlı sohbetindeki bir sohbet mesajını temsil eder. Bu kaynakta, yeni yayınlanan kısa mesaj veya takipçi bağışları etkinliği gibi çeşitli mesaj türleriyle ilgili ayrıntılar yer alabilir.

Canlı yayınlar için varsayılan olarak etkinleştirilen canlı sohbet özelliği, canlı etkinlik devam ederken kullanılabilir. (Etkinlik sona erdikten sonra söz konusu etkinlik için canlı sohbet kullanılamaz.)

Yöntemler

API, liveChatMessages kaynakları için aşağıdaki yöntemleri destekler:

list
Belirli bir sohbetle ilgili canlı sohbet mesajlarını listeler. Hemen deneyin.
ekle
Canlı sohbete mesaj ekler. Hemen deneyin.
sil
Bir 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
    },
    "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
    },
    "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 string
API kaynağının türünü tanımlar. Değer youtube#liveChatMessage olur.
etag etag
Bu kaynağın Etag'i.
id string
YouTube'un mesajı benzersiz şekilde tanımlamak için atadığı kimliktir.
snippet object
snippet nesnesi, sohbet mesajıyla ilgili temel ayrıntıları içerir.
snippet.type string
Mesajın türü. Bu özellik her zaman mevcuttur ve değeri, kaynakta hangi alanların olduğunu belirler.

Bu mülk için geçerli değerler şunlardır:
  • chatEndedEvent – Sohbet sona erdi ve bundan sonra başka mesaj eklenemez. Bu durum, yayın bittikten kısa bir süre sonra doğal olarak gerçekleşir. Bu tür mesajlar, kanalın varsayılan yayınındaki canlı sohbetler için gönderilmez.
  • messageDeletedEvent – İleti, moderatör tarafından silindi. author alanında moderatörün ayrıntıları bulunur. Bu etkinlikte görünen içerik yok.
  • sponsorOnlyModeEndedEvent – Sohbet artık yalnızca sponsorlar modunda değil. Bu durumda, sponsor olmayan kullanıcılar artık mesaj gönderebilir. Bu etkinlikte görünen içerik yok.
  • sponsorOnlyModeStartedEvent – Sohbet yalnızca sponsorlar moduna girdi. Bu, yalnızca sponsorların mesaj gönderebileceği anlamına geliyor. Bu etkinlikte görünen içerik yok.
  • newSponsorEvent – Canlı sohbetin sahibi olan kanala yeni bir kullanıcı sponsor oldu. author alanları, yeni sponsorun ayrıntılarını içerir.
  • memberMilestoneChatEvent – Bir kullanıcı Üye Dönüm Noktası Mesajı gönderdi.
  • superChatEvent – Bir kullanıcı Super Chat satın aldı.
  • superStickerEvent – Bir kullanıcı Süper Etiket satın aldı.
  • textMessageEvent – Bir kullanıcı kısa mesaj gönderdi.
  • tombstone - Tombstone, bir mesajın bu kimlikle ve yayınlanma zamanında mevcut olduğunu ancak silindiğini ifade eder. Bir mesaj silindikten sonra gönderilmez ancak silinmeden önce mesajın nerede olduğunu belirtmek için gösterilir. Bu mesaj türünde yalnızca snippet.liveChatId, snippet.type ve snippet.publishedAt alanları bulunur.
  • userBannedEvent – Kullanıcı, moderatör tarafından engellendi. author alanında moderatörün ayrıntıları bulunur.
  • membershipGiftingEvent: Bir kullanıcı, başka izleyiciler için üyelik satın almıştır.
  • giftMembershipReceivedEvent – Bir kullanıcı hediye üyelik aldı.
snippet.liveChatId string
Mesajın ilişkilendirildiği canlı sohbeti benzersiz şekilde tanımlayan kimlik. Bir yayınla ilişkilendirilmiş 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:
  • Mesaj türü textMessageEvent ise özellik değeri mesajı yazan kullanıcıyı tanımlar.
  • Mesaj türü fanFundingEvent ise özellik değeri yayını finanse eden kullanıcıyı tanımlar.
  • Mesaj türü messageDeletedEvent ise mülk değeri mesajı silen moderatörü tanımlar.
  • Mesaj türü newSponsorEvent ise mülk değeri yeni sponsor olan kullanıcıyı tanımlar.
  • Mesaj türü memberMilestoneChatEvent ise özellik değeri mesajı gönderen üyeyi tanımlar.
  • Mesaj türü userBannedEvent ise özellik değeri, kullanıcıyı yasaklayan moderatörü tanımlar.
  • Mesaj türü membershipGiftingEvent ise mülk değeri, hediye üyelik satın alma işlemini gerçekleştiren kullanıcıyı tanımlar.
  • Mesaj türü giftMembershipReceivedEvent ise özellik değeri, hediye üyelik alan kullanıcıyı tanımlar.
snippet.publishedAt datetime
Mesajın ilk yayınlandığı tarih ve saat. Değer, ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) biçiminde belirtilir.
snippet.hasDisplayContent boolean
Mesajın, kullanıcılara gösterilmesi gereken görüntülü içerik içerip içermediğini belirtir.
snippet.displayMessage string
Kullanıcılara gösterilen bir dize içerir. İleti türü chatEndedEvent veya tombstone ise bu alan bulunmaz.
snippet.fanFundingEventDetails object
Not: Bu nesne ve alt özellikleri kullanımdan kaldırılmıştır. liveChatMessage kaynakları, 28 Şubat 2017'den itibaren Hayran Bağışları etkinlikleriyle ilgili ayrıntıları döndürmeyecek.

Bu nesne fon etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü fanFundingEvent olduğunda mevcuttur.
snippet.fanFundingEventDetails.amountMicros unsigned long
Not: Bu mülk kullanımdan kaldırılmıştır.

Fon tutarı.
snippet.fanFundingEventDetails.currency string
Not: Bu mülk kullanımdan kaldırılmıştır.

Fonun oluşturulduğu para birimi.
snippet.fanFundingEventDetails.amountDisplayString string
Not: Bu özellik kullanımdan kaldırıldı.

Kullanıcıya fon tutarını ve para birimini gösteren oluşturulmuş dize.
snippet.fanFundingEventDetails.userComment string
Not: Bu özellik kullanımdan kaldırıldı.

Kullanıcı tarafından bu takipçi bağışı etkinliğine eklenen yorum.
snippet.textMessageDetails object
Bu nesne, kısa mesajla ilgili ayrıntıları içerir. Yalnızca mesaj türü textMessageEvent olduğunda mevcuttur.
snippet.textMessageDetails.messageText string
Kullanıcının mesajı.
snippet.messageDeletedDetails object
Bu nesne, 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 olduğunda mevcuttur.
snippet.messageDeletedDetails.deletedMessageId string
Silinen iletiyi benzersiz şekilde tanımlayan kimlik. Değer, orijinal kısa mesajın id özellik değeriyle aynı. Örneğin, textMessageEvent özelliğinin id özellik değeri 123 ise ve bu mesaj daha sonra silinirse söz konusu mesajın snippet.messageDeletedDetails.deletedMessageId değeri 123 olur.

Sohbet mesajlarını geri aldıktan sonra önbelleğe alırsanız artık görüntülenmemesi gereken mesajı tanımlamak için bu özelliğin değerini kullanın.
snippet.userBannedDetails object
Bu nesne, sohbet etmesi yasaklanan bir kullanıcıyla ilgili ayrıntılar içeriyor. Ayrıca, yasağın kendisiyle ilgili ayrıntıları da içerir. Kullanıcılar bir sohbette kalıcı veya geçici olarak yasaklanabilir.
snippet.userBannedDetails.bannedUserDetails object
Bu nesne, yasaklanan kullanıcıyla ilgili bilgiler içeriyor.
snippet.userBannedDetails.bannedUserDetails.channelId string
Yasaklanan kullanıcının YouTube kanal kimliği.
snippet.userBannedDetails.bannedUserDetails.channelUrl string
Yasaklanan kullanıcının YouTube kanalının URL'si.
snippet.userBannedDetails.bannedUserDetails.displayName string
Yasaklanan kullanıcının YouTube kanalının görünen adı.
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
Yasaklanan kullanıcının YouTube kanalının avatarı.
snippet.userBannedDetails.banType string
Yasak türü. Bu özellik için geçerli değerler şunlardır:
  • kalıcı
  • geçici
snippet.userBannedDetails.banDurationSeconds unsigned long
Yasağın süresi. Bu özellik yalnızca snippet.userBannedDetails.banType özellik değeri temporary ise kullanılabilir.
snippet.memberMilestoneChatDetails object
Bu nesne, Üye Dönüm Noktası etkinliği ile ilgili ayrıntıları içerir. Yalnızca mesaj türü memberMilestoneChatEvent olduğunda mevcuttur.
snippet.memberMilestoneChatDetails.userComment string
Üye tarafından bu Üye Dönüm Noktası Mesajına eklenen yorum. Bu alan, üyenin yorumu olmayan mesajlar için boştur.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
İzleyicinin, kendisine bu Üye Dönüm Noktası Mesajı'nı veren üye olduğu ayların toplam sayısıdır (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 object
Bu nesne, Yeni Üye Duyurusu etkinliğiyle ilgili ayrıntıları içerir. Bu yalnızca tür newSponsorEvent ise ayarlanır. "Üye", "sponsor" anlamına gelen terimdir.
snippet.newSponsorDetails.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.isUpgrade bool
İzleyicinin kısa bir süre önce daha düşük bir Seviyeden yükseltme yapıp yapmadığını gösterir. Satın alma sırasında üye olmayan izleyiciler için alanın değeri false şeklindedir.
snippet.superChatDetails object
Bu nesne, bir Super Chat etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü superChatEvent olduğunda mevcuttur.
snippet.superChatDetails.amountMicros unsigned long
Satın alma para biriminin mikro cinsinden satın alma tutarı. Örneğin, satın alma tutarı 1 dolarsa snippet.amountMicros mülkünün değeri 1000000 olur.
snippet.superChatDetails.currency string
Satın alma işleminin yapıldığı para birimi. Bu değer bir ISO 4217 para birimi kodudur.
snippet.superChatDetails.amountDisplayString string
Satın alma tutarını ve para birimini içeren, $1.00 gibi bir dize. Dizenin kullanıcıya gösterilmesi amaçlanır.
snippet.superChatDetails.userComment string
Kullanıcı tarafından bu Super Chat etkinliğine eklenen yorum.
snippet.superChatDetails.tier unsigned integer
Ücretli mesajın katmanı. Bir 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ını temel alır. Ayrıca canlı sohbet kullanıcı arayüzünde mesajı vurgulamak için kullanılan rengi, maksimum mesaj uzunluğunu ve mesajın sohbet şeridine ne kadar süreyle sabitleneceğini de belirler.

Super Chat katmanları YouTube Yardım Merkezi'nde açıklanmıştır. (Super 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 katman 1. katman, sonraki en düşük miktar ise 2. katmandır.
snippet.superStickerDetails object
Bu nesne, bir Süper Etiket etkinliğiyle ilgili ayrıntılar içerir. Yalnızca mesaj türü superStickerEvent olduğunda mevcuttur.
snippet.superStickerDetails.superStickerMetadata object
Süper Etiket ile ilgili ayrıntılar.
snippet.superStickerDetails.superStickerMetadata.stickerId string
Çıkartma resmini tanımlayan benzersiz bir kimlik. Resim, yalnızca kullanıcılar YouTube'daki sohbet penceresini görüntülediğinde Super Sticker mesajının bir parçası olarak gösterilir. Ancak resim URL'si API ile kullanılamaz. Yalnızca referans olması amacıyla, bu CSV dosyasında hangi Süper Etiketler ile ilgili çıkartma kimliklerinin olduğunu 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 string
snippet.superStickerDetails.superStickerMetadata.altText özellik değerinin dilidir.
snippet.superStickerDetails.amountMicros unsigned long
Satın alma para biriminin mikro cinsinden satın alma tutarı. Örneğin, satın alma tutarı 1 dolarsa snippet.amountMicros mülkünün değeri 1000000 olur.
snippet.superStickerDetails.currency string
Satın alma işleminin yapıldığı para birimi. Bu değer bir ISO 4217 para birimi kodudur.
snippet.superStickerDetails.amountDisplayString string
Satın alma tutarını ve para birimini içeren, $1.00 gibi bir dize. Dizenin kullanıcıya gösterilmesi amaçlanır.
snippet.superStickerDetails.tier unsigned integer
Ücretli mesajın katmanı. Bir 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ını temel alır. Ayrıca canlı sohbet kullanıcı arayüzünde mesajı vurgulamak için kullanılan rengi, maksimum mesaj uzunluğunu ve mesajın sohbet şeridine sabitleneceği süreyi de belirler.

Süper Etiketler'i de kapsayan Süper Chat katmanları, YouTube Yardım Merkezi'nde açıklanmıştır. (Super 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 katman 1. katman, sonraki en düşük miktar ise 2. katmandır.
snippet.pollDetails object
Bu nesne, bir anket etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü pollEvent olduğunda mevcuttur.
snippet.pollDetails.metadata object
Anket etkinliğiyle ilgili ayrıntılar.
snippet.pollDetails.metadata.options object
Canlı anketteki seçenekler.
snippet.pollDetails.metadata.options.optionText string
Canlı anket seçeneğinin metni.
snippet.pollDetails.metadata.options.questionText string
Canlı anket sorusunun metni.
snippet.pollDetails.metadata.status enum
Canlı anket etkinliğinin durumu. Bu özellik için geçerli değerler şunlardır:
  • unknown
  • active
  • closed
snippet.membershipGiftingDetails object
Bu nesne, hediye üyelik etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type, membershipGiftingEvent ise mevcuttur.
snippet.membershipGiftingDetails.giftMembershipsCount integer
Kullanıcının satın aldığı hediye üyeliklerin sayısı.
snippet.membershipGiftingDetails.giftMembershipsLevelName string
Kullanıcı tarafından satın alınan hediye üyeliklerin Seviyesi. Seviye adları, Üyelik sunan YouTube kanalı tarafından tanımlanır. Bazı durumlarda bu alan doldurulmaz.
snippet.giftMembershipReceivedDetails object
Bu nesne, Hediye Üyelik Alındı etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type, giftMembershipReceivedEvent ise mevcuttur.
snippet.giftMembershipReceivedDetails.memberLevelName string
İzleyicinin üye olduğu Seviyenin adı. Bu, ilişkilendirilmiş hediye üyelik mesajındaki snippet.membershipGiftingDetails.giftMembershipsLevelName ile eşleşiyor. Seviye adları, Üyelik sunan YouTube kanalı tarafından tanımlanır. Bazı durumlarda bu alan doldurulmaz.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Hediye üyelik satın alma işlemini yapan kullanıcının kimliği. Bu, ilişkilendirilmiş hediye üyelik mesajındaki snippet.authorChannelId ile eşleşiyor.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
Bu hediye üyelikle ilgili hediye üyelik mesajının kimliği. Bu kimlik her zaman type değeri membershipGiftingEvent olan bir iletiyi belirtir.
authorDetails object
authorDetails nesnesi, bu iletiyi yayınlayan kullanıcıyla ilgili ek ayrıntıları içerir.
authorDetails.channelId string
Yazarın YouTube kanal kimliği.
authorDetails.channelUrl string
Yazarın YouTube kanalının URL'si.
authorDetails.displayName string
Yazarın YouTube kanalının görünen adı.
authorDetails.profileImageUrl string
Yazarın YouTube kanalının avatar URL'si.
authorDetails.isVerified boolean
Bu değer, yazarın kimliğinin YouTube tarafından doğrulanıp doğrulanmadığını gösterir.
authorDetails.isChatOwner boolean
Bu değer, yazarın canlı sohbetin sahibi olup olmadığını gösterir.
authorDetails.isChatSponsor boolean
Bu değer, yazarın canlı sohbetin sponsoru olup olmadığını gösterir.
authorDetails.isChatModerator boolean
Bu değer, yazarın canlı sohbetin moderatörü olup olmadığını gösterir.