LiveChatMessages

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

チャット機能はライブ配信でデフォルトで有効になっており、ライブイベントがアクティブな間は使用できます。(イベント終了後は、そのイベントのライブ チャットはご利用いただけなくなります)。

メソッド

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

list
特定のチャットのチャット メッセージを一覧表示します。 今すぐ試す
insert
チャットにメッセージまたはアンケートを追加します。今すぐ試す
transition
公開メッセージの状態を遷移します。 今すぐ試す
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
    },
    "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
  },
}

プロパティ

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

プロパティ
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 - 墓石は、この ID と公開時間で存在していたメッセージが削除されたことを示します。メッセージの削除時に送信されるのではなく、削除前のメッセージの位置を示すために表示されます。このタイプのメッセージには、snippet.liveChatIdsnippet.typesnippet.publishedAt のフィールドのみが存在します。
  • userBannedEvent - ユーザーがモデレーターによって禁止されています。author フィールドには、モデレーターの詳細が含まれます。
  • membershipGiftingEvent - ユーザーが他の視聴者のためにメンバーシップを購入しました。
  • giftMembershipReceivedEvent - ユーザーがメンバーシップ ギフトを受け取った。
  • pollDetails - ユーザーがライブ アンケートを作成しました。
snippet.liveChatId string
メッセージが関連付けられているライブチャットを一意に識別する ID。ブロードキャストに対応するチャット ID は、liveBroadcast リソースの snippet.liveChatId プロパティで返されます。
snippet.authorChannelId string
メッセージの作成者 ID。このフィールドは、次のメッセージ タイプでのみ入力されます。
  • メッセージ タイプが textMessageEvent の場合、プロパティ値はメッセージを作成したユーザーを識別します。
  • メッセージ タイプが fanFundingEvent の場合、プロパティ値はブロードキャストに対して資金を提供したユーザーを識別します。
  • メッセージ タイプが messageDeletedEvent の場合、プロパティ値はメッセージを削除したモデレータを識別します。
  • メッセージ タイプが newSponsorEvent の場合、プロパティ値はスポンサーになったばかりのユーザーを識別します。
  • メッセージ タイプが memberMilestoneChatEvent の場合、プロパティ値はメッセージを送信したメンバーを識別します。
  • メッセージの種類が userBannedEvent の場合、プロパティ値はユーザーを禁止したモデレータを識別します。
  • メッセージ タイプが membershipGiftingEvent の場合、プロパティ値はメンバーシップ ギフトの購入を行ったユーザーを識別します。
  • メッセージ タイプが giftMembershipReceivedEvent の場合、プロパティ値はギフト メンバーシップを受け取ったユーザーを識別します。
  • メッセージの種類が pollEvent の場合、プロパティ値はライブアンケートを作成したユーザーを識別します。
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
禁止の種類。このプロパティの有効な値は次のとおりです。
  • ずっと
  • 一時的
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
購入金額(購入通貨の 100 万分の 1 の単位で表記)。たとえば、購入金額が 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 の購入の詳細については、展開可能なセクションをご覧ください)。このリストでは、購入金額が最も低い階層が階層 1、次に低い金額が階層 2 となります。
snippet.superStickerDetails object
このオブジェクトには、Super Stickers イベントの詳細が含まれます。メッセージ タイプsuperStickerEvent の場合にのみ存在します。
snippet.superStickerDetails.superStickerMetadata object
Super Stickers の詳細。
snippet.superStickerDetails.superStickerMetadata.stickerId string
ステッカー画像を識別する一意の ID。画像は、ユーザーが YouTube でチャット ウィンドウを表示している場合にのみ、Super ステッカー メッセージの一部として表示されます。ただし、API を使用して画像の URL を取得することはできません。なお、どのステッカー ID がどのスーパー ステッカーに関連しているかは、こちらのCSV ファイルで確認できます。
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
購入金額(購入通貨の 100 万分の 1 の単位で表記)。たとえば、購入金額が 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 でメッセージのハイライト表示に使用される色、メッセージの最大長、メッセージが ticker に固定される時間も決定します。

Super Chat の階層(Super Stickers も対象)については、YouTube ヘルプセンターをご覧ください。(Super Chat の購入の詳細については、展開可能なセクションをご覧ください)。このリストでは、購入金額が最も低い階層が階層 1、次に低い金額が階層 2 となります。
snippet.pollDetails object
このオブジェクトには、アンケート イベントの詳細が含まれます。メッセージ タイプpollEvent の場合にのみ存在します。
snippet.pollDetails.metadata object
アンケート イベントの詳細。
snippet.pollDetails.metadata.options object
ライブアンケートのオプション。
snippet.pollDetails.metadata.options.optionText string
ライブアンケート オプションのテキスト。
snippet.pollDetails.metadata.options.tally string
ライブアンケート オプションの集計結果。集計は、API リクエストがチャンネル所有者によって承認されている場合にのみ表示されます。
snippet.pollDetails.metadata.questionText string
ライブアンケートの質問のテキスト。
snippet.pollDetails.metadata.status enum
ライブアンケート イベントのステータス。このプロパティの有効な値は次のとおりです。
  • unknown
  • active
  • closed
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
この値は、投稿者の ID が YouTube によって確認されているかどうかを示します。
authorDetails.isChatOwner boolean
この値は、作成者がチャットのオーナーであるかどうかを示します。
authorDetails.isChatSponsor boolean
この値は、作成者がチャットのスポンサーであるかどうかを示します。
authorDetails.isChatModerator boolean
この値は、作成者がチャット モデレーターかどうかを示します。