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.type、および snippet.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 の購入の詳細については、展開可能なセクションをご覧ください)。このリストで、購入金額が最も低い階層は階層 1、その次に低い階層は階層 2 のようになります。
snippet.superStickerDetails object
このオブジェクトには、Super Sticker イベントの詳細が含まれます。メッセージ タイプsuperStickerEvent の場合にのみ存在します。
snippet.superStickerDetails.superStickerMetadata object
Super Sticker の詳細。
snippet.superStickerDetails.superStickerMetadata.stickerId string
ステッカー画像を識別する一意の ID。この画像は、ユーザーが YouTube でチャット ウィンドウを表示したときに Super Sticker メッセージの一部としてのみ表示されることに注意してください。ただし、API を介して画像の URL を取得することはできません。ご参考までに、どのステッカー ID とどの Super Stickers が関連しているかをこちらの 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
購入金額(購入通貨のマイクロ単位)。たとえば、購入金額が 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 の購入の詳細については、展開可能なセクションをご覧ください)。このリストで、購入金額が最も低い階層は階層 1、その次に低い階層は階層 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
この値は、作成者がチャットのモデレーターかどうかを示します。