LiveChatMessages

liveChatMessage リソースは、YouTube チャットのチャット メッセージを表します。リソースには、新たに投稿されたテキスト メッセージや視聴者ファンディング イベントなど、数種類のメッセージに関する詳細情報を含めることができます。

チャット機能はデフォルトで有効になっており、ライブイベントが有効になっている間利用できます。(イベントが終了すると、チャットでそのチャットは利用できなくなります)。

Methods

API は、liveChatMessages リソースについて次のメソッドをサポートしています。

list
特定のチャットのチャット メッセージを一覧表示します。 今すぐ試す
挿入
チャットにメッセージを追加します。今すぐ試す
delete
チャット メッセージを削除します。API リクエストは、チャンネル所有者またはチャットの管理メンバーによって承認される必要があります。今すぐ試す

リソース表現

次の JSON 構造は、liveChatMessages リソースの形式を示しています。

{
  "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
  }
}

プロパティ

次の表は、このリソースで使用されているプロパティの定義を示したものです。

プロパティ
kind string
API リソースのタイプを識別します。値は youtube#liveChatMessage です。
etag etag
このリソースの Etag。
id string
メッセージを一意に識別するために YouTube が割り当てる ID。
snippet object
snippet オブジェクトには、チャット メッセージに関する主要な詳細情報が含まれています。
snippet.type string
メッセージのタイプ。このプロパティは常に存在し、その値によってリソース内のフィールドが決まります。

このプロパティの有効な値は次のとおりです。
  • chatEndedEvent - チャットは終了しました。これ以降はメッセージを挿入できません。この状況は配信終了後しばらくの間発生します。なお、このタイプのメッセージは現在、チャンネルのデフォルト ブロードキャストのチャットには送信されません。
  • messageDeletedEvent – メッセージがモデレーターによって削除されました。author フィールドには、モデレーターの詳細が含まれています。このイベントにはディスプレイ コンテンツがありません。
  • sponsorOnlyModeEndedEvent - チャットはスポンサー限定モードではなくなりました。スポンサー以外のユーザーは、メッセージを送信できるようになりました。このイベントにはディスプレイ コンテンツがありません。
  • sponsorOnlyModeStartedEvent - チャットはスポンサー限定モードになっています。このモードでは、スポンサーのみがメッセージを送信できます。このイベントにはディスプレイ コンテンツがありません。
  • newSponsorEvent - 新しいユーザーが、チャットを所有するチャンネルのスポンサーになりました。author フィールドには、新しいスポンサーの詳細情報を指定します。
  • memberMilestoneChatEvent – ユーザーがメンバー マイルストーン チャットを送信しました。
  • superChatEvent – ユーザーが Super Chat を購入した場合。
  • superStickerEvent – ユーザーが Super Sticker を購入したとき。
  • textMessageEvent – ユーザーがテキスト メッセージを送信したとき。
  • tombstone - tombstone は、以前はこの ID と公開時刻で存在していたメッセージが、その後削除されたことを示します。このメッセージは、メッセージの削除時に送信されず、削除前にメッセージが存在していた場所を示します。このタイプのメッセージには、snippet.liveChatIdsnippet.typesnippet.publishedAt フィールドのみ存在します。
  • userBannedEvent – ユーザーがモデレーターによって参加禁止になりました。author フィールドには、モデレーターの詳細が含まれています。
  • membershipGiftingEvent – ユーザーが他の視聴者のためにメンバーシップを購入したこと。
  • giftMembershipReceivedEvent – ユーザーがメンバーシップ ギフトを受け取った場合。
snippet.liveChatId string
メッセージが関連付けられているチャットを一意に識別する ID。ブロードキャストに関連付けられているチャット ID は、liveBroadcast リソースの snippet.liveChatId プロパティで返されます。
snippet.authorChannelId string
メッセージを作成したユーザーの ID。このフィールドは、次のメッセージ タイプにのみ入力されます。
  • メッセージ タイプが textMessageEvent の場合、プロパティ値は、メッセージを作成したユーザーを識別します。
  • メッセージ タイプが fanFundingEvent の場合は、ブロードキャストに資金を提供したユーザーをプロパティ値で識別できます。
  • メッセージ タイプが messageDeletedEvent の場合は、メッセージを削除したモデレーターにプロパティ値が表示されます。
  • メッセージ タイプが newSponsorEvent の場合、このプロパティ値は、スポンサーになったばかりのユーザーを識別します。
  • メッセージ タイプが memberMilestoneChatEvent の場合、プロパティ値は、メッセージを送信したメンバーを識別します。
  • メッセージ タイプが userBannedEvent の場合は、ユーザーを参加を禁止したモデレーターをプロパティ値で識別します。
  • メッセージ タイプが membershipGiftingEvent の場合、プロパティ値は、メンバーシップ ギフトの購入を行ったユーザーを示します。
  • メッセージ タイプが giftMembershipReceivedEvent の場合、プロパティ値は、メンバーシップ ギフトを受け取ったユーザーを示します。
snippet.publishedAt datetime
メッセージが最初に公開された日時。値は ISO 8601YYYY-MM-DDThh:mm:ss.sZ)形式で指定します。
snippet.hasDisplayContent boolean
ユーザーに表示するメッセージをユーザーに表示する必要があるかどうかを示します。
snippet.displayMessage string
ユーザーに表示される文字列を格納します。メッセージ タイプchatEndedEvent または tombstone の場合、このフィールドは存在しません。
snippet.fanFundingEventDetails object
注: このオブジェクトとその子プロパティはサポートが終了しました。2017 年 2 月 28 日以降、liveChatMessage リソースは視聴者ファンディング イベントの詳細を返さなくなります。

このオブジェクトには、ファンディング イベントに関する詳細が含まれています。メッセージ タイプfanFundingEvent の場合にのみ存在します。
snippet.fanFundingEventDetails.amountMicros unsigned long
注: このプロパティは非推奨となりました。

ファンドの金額。
snippet.fanFundingEventDetails.currency string
注: このプロパティは非推奨となりました。

ファンドの支払いに使用された通貨。
snippet.fanFundingEventDetails.amountDisplayString string
注: このプロパティのサポートが終了しました。

ユーザーにファンドの金額と通貨が表示される、レンダリングされた文字列。
snippet.fanFundingEventDetails.userComment string
注: このプロパティは非推奨となりました。

この視聴者ファンディング イベントにユーザーが追加したコメント。
snippet.textMessageDetails object
このオブジェクトにはテキスト メッセージの詳細が含まれています。メッセージ タイプtextMessageEvent の場合にのみ存在します。
snippet.textMessageDetails.messageText string
ユーザーのメッセージ。
snippet.messageDeletedDetails object
このオブジェクトには、チャット モデレーターまたはライブ配信チャンネルのオーナーが削除したメッセージの詳細が含まれます。メッセージ タイプmessageDeletedEvent の場合にのみ存在します。
snippet.messageDeletedDetails.deletedMessageId string
削除されたメッセージを一意に識別する ID。この値は、元のテキスト メッセージの id プロパティ値と同じです。たとえば、textMessageEventid プロパティ値が 123 であり、その後このメッセージが削除されると、そのメッセージの snippet.messageDeletedDetails.deletedMessageId 値は 123 になります。

チャット メッセージの取得後にチャット メッセージをキャッシュする場合は、このプロパティの値を使用して、表示すべきでないメッセージを識別します。
snippet.userBannedDetails object
このオブジェクトには、チャットを禁止されたユーザーに関する詳細情報が含まれます。また、禁止の詳細も表示されます。ユーザーは、チャットを完全にまたは一時的に禁止できます。
snippet.userBannedDetails.bannedUserDetails object
このオブジェクトには、禁止されたユーザーに関する情報が含まれます。
snippet.userBannedDetails.bannedUserDetails.channelId string
禁止されたユーザーの YouTube チャンネル ID。
snippet.userBannedDetails.bannedUserDetails.channelUrl string
禁止されたユーザーの YouTube チャンネルの URL。
snippet.userBannedDetails.bannedUserDetails.displayName string
禁止されたユーザーの YouTube チャンネルの表示名。
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
禁止されたユーザーの YouTube チャンネルのアバター。
snippet.userBannedDetails.banType string
禁止のタイプ。このプロパティで有効な値は次のとおりです。
  • ずっと
  • temporary
snippet.userBannedDetails.banDurationSeconds unsigned long
禁止の期間。このプロパティは、snippet.userBannedDetails.banType プロパティ値が temporary の場合にのみ存在します。
snippet.memberMilestoneChatDetails object
このオブジェクトには、メンバー マイルストーン イベントの詳細が含まれます。メッセージ タイプmemberMilestoneChatEvent の場合にのみ存在します。
snippet.memberMilestoneChatDetails.userComment string
このメンバー マイルストーン チャットにメンバーによって追加されたコメント。メンバーからのコメントがないメッセージの場合、このフィールドは空になります。
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
視聴者がメンバー マイルストーン チャットを付与した月の総数(端数は四捨五入)。これは、YouTube ユーザーに表示される月と同じです。
snippet.memberMilestoneChatDetails.memberLevelName string
視聴者がメンバーになっているレベルの名前。レベル名は、メンバーシップを提供している YouTube チャンネルによって定義されます。この項目が入力されない場合があります。
snippet.newSponsorDetails object
このオブジェクトには、新しいメンバーのお知らせイベントの詳細が含まれています。これは、タイプが newSponsorEvent の場合にのみ設定されます。「メンバー」は「スポンサー」の新しい用語です。
snippet.newSponsorDetails.memberLevelName string
視聴者がメンバーになっているレベルの名前。レベル名は、メンバーシップを提供している YouTube チャンネルによって定義されます。この項目が入力されない場合があります。
snippet.newSponsorDetails.isUpgrade bool
閲覧者が下位レベルからアップグレードしたばかりかどうかを示します。購入時にメンバーではなかった視聴者の場合、フィールド値は false です。
snippet.superChatDetails object
このオブジェクトには Super Chat イベントの詳細が含まれています。メッセージ タイプsuperChatEvent の場合にのみ存在します。
snippet.superChatDetails.amountMicros unsigned long
購入金額(マイクロ単位)。たとえば、購入金額が 1 ドルの場合、snippet.amountMicros プロパティ値は 1000000 になります。
snippet.superChatDetails.currency string
購入に使用された通貨。値は ISO 4217 の通貨コードです。
snippet.superChatDetails.amountDisplayString string
購入金額と通貨を含む文字列($1.00 など)。この文字列はユーザーに表示されることが想定されています。
snippet.superChatDetails.userComment string
ユーザーがこの Super Chat イベントに追加したコメント。
snippet.superChatDetails.tier unsigned integer
有料メッセージの階層。注: superChatEvent リソースの snippet.messageType プロパティには、この値が含まれます。

ティアは、メッセージの購入に費やされた金額に基づきます。また、チャット UI でメッセージをハイライト表示するための色、最大メッセージ長、メッセージがティッカーに固定される時間も表示されます。

Super Chat のティアは YouTube ヘルプセンターに記載されています。(Super Chat の購入の詳細に関するセクションを展開すると確認できます)。このリストでは、購入額が最も少ない階層は Tier 1、次に低い金額は Tier 2 と続きます。
snippet.superStickerDetails object
このオブジェクトには Super Sticker イベントの詳細が含まれています。メッセージ タイプsuperStickerEvent の場合にのみ存在します。
snippet.superStickerDetails.superStickerMetadata object
Super Sticker の詳細
snippet.superStickerDetails.superStickerMetadata.stickerId string
ステッカー画像を識別する一意の ID。画像は、ユーザーが YouTube でチャット ウィンドウを表示したときのみ、Super Sticker メッセージの一部として表示されます。ただし、この画像の URL は API では使用できません。
snippet.superStickerDetails.superStickerMetadata.altText string
ステッカーを説明するテキスト文字列。snippet.superStickerDetails.superStickerMetadata.language フィールドは、テキストの言語を識別します。liveChatMessages.list メソッドを呼び出すときは、テキストの hl パラメータ値を目的の言語に設定します。
snippet.superStickerDetails.superStickerMetadata.language string
snippet.superStickerDetails.superStickerMetadata.altText プロパティ値の言語。
snippet.superStickerDetails.amountMicros unsigned long
購入金額(マイクロ単位)。たとえば、購入金額が 1 ドルの場合、snippet.amountMicros プロパティ値は 1000000 になります。
snippet.superStickerDetails.currency string
購入に使用された通貨。値は ISO 4217 の通貨コードです。
snippet.superStickerDetails.amountDisplayString string
購入金額と通貨を含む文字列($1.00 など)。この文字列はユーザーに表示されることが想定されています。
snippet.superStickerDetails.tier unsigned integer
有料メッセージの階層。注: superChatEvent リソースの snippet.messageType プロパティには、この値が含まれます。

ティアは、メッセージの購入に費やされた金額に基づきます。また、チャット UI でメッセージをハイライト表示するための色、メッセージの最大の長さ、ティッカーに固定される時間も表示されます。

Super Chat の階層(Super Stickers も含む)については、YouTube ヘルプセンターをご覧ください。(Super Chat の購入の詳細に関するセクションを展開すると確認できます)。このリストでは、購入額が最も少ない階層は Tier 1、次に低い金額は Tier 2 と続きます。
snippet.membershipGiftingDetails object
このオブジェクトには、メンバーシップ ギフト イベントの詳細が含まれています。message typemembershipGiftingEvent の場合にのみ存在します。
snippet.membershipGiftingDetails.giftMembershipsCount integer
ユーザーが購入したメンバーシップ ギフトの数。
snippet.membershipGiftingDetails.giftMembershipsLevelName string
ユーザーが購入したメンバーシップ ギフトのレベルの名前。レベル名は、メンバーシップを提供する YouTube チャンネルによって定義されます。この項目が入力されない場合があります。
snippet.giftMembershipReceivedDetails object
このオブジェクトには、メンバーシップ ギフトの受領イベントの詳細が含まれています。message typegiftMembershipReceivedEvent の場合にのみ存在します。
snippet.giftMembershipReceivedDetails.memberLevelName string
視聴者がメンバーになっているレベルの名前。これは、関連付けられたメンバーシップ ギフト メッセージの snippet.membershipGiftingDetails.giftMembershipsLevelName と一致します。レベル名は、メンバーシップを提供する YouTube チャンネルによって定義されます。この項目が入力されない場合があります。
snippet.giftMembershipReceivedDetails.gifterChannelId string
メンバーシップ ギフトを購入したユーザーの ID。これは、関連付けられたメンバーシップ ギフト メッセージの snippet.authorChannelId と一致します。
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
このメンバーシップ メンバーシップに関連するメンバーシップ ギフト メッセージの ID。この ID は、typemembershipGiftingEvent であるメッセージを常に参照します。
authorDetails object
authorDetails オブジェクトには、このメッセージを投稿したユーザーに関する追加情報が含まれます。
authorDetails.channelId string
投稿者の YouTube チャンネル ID。
authorDetails.channelUrl string
著者の YouTube チャンネルの URL。
authorDetails.displayName string
投稿者の YouTube チャンネルの表示名。
authorDetails.profileImageUrl string
投稿者の YouTube チャンネルのアバター URL。
authorDetails.isVerified boolean
この値は、作成者の本人確認が YouTube によって確認されたかどうかを示します。
authorDetails.isChatOwner boolean
この値は、作成者がチャットの所有者かどうかを示します。
authorDetails.isChatSponsor boolean
この値は、作成者がチャットのスポンサーかどうかを示します。
authorDetails.isChatModerator boolean
この値は、作成者がチャットの管理メンバーであるかどうかを示します。