liveChatMessage
リソースは、YouTube ライブチャットのチャット メッセージを表します。このリソースには、新しく投稿されたテキスト メッセージやファン ファンド イベントなど、さまざまな種類のメッセージに関する詳細情報が含まれます。
ライブ配信では、チャット機能がデフォルトで有効になっており、ライブイベントがアクティブな間は利用できます。(イベント終了後は、そのイベントのライブチャットは利用できなくなります)。
メソッド
この API は、liveChatMessages
リソースに対して次のメソッドをサポートしています。
- list
- 特定のチャットのチャット メッセージの一覧を取得します。今すぐ試す
- streamList
- 低遅延で特定のチャットのチャット メッセージを受信するためのサーバー ストリーミング接続を有効にします。今すぐ試す
- 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 メッセージのタイプ。このプロパティは常に存在し、その値によってリソースに存在するフィールドが決まります。 このプロパティの有効な値は次のとおりです。
|
snippet.liveChatId |
string メッセージが関連付けられているライブチャットを一意に識別する ID。ブロードキャストに関連付けられたライブチャット ID は、 liveBroadcast リソースの snippet.liveChatId プロパティで返されます。 |
snippet.authorChannelId |
string メッセージを作成したユーザーの ID。このフィールドは、次のメッセージ タイプでのみ入力されます。
|
snippet.publishedAt |
datetime メッセージが最初に公開された日時。値は ISO 8601( YYYY-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 プロパティ値と同じです。たとえば、textMessageEvent の id プロパティの値が 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 Sticker の詳細。 |
snippet.superStickerDetails.superStickerMetadata.stickerId |
string ステッカー画像を識別する一意の ID。なお、画像は、ユーザーが YouTube でチャット ウィンドウを表示したときにのみ、Super Sticker メッセージの一部として表示されます。ただし、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 でメッセージをハイライト表示する色、メッセージの最大長、メッセージがティッカーに固定される時間も決まります。 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 ライブ投票イベントのステータス。このプロパティの有効な値は次のとおりです。
|
snippet.membershipGiftingDetails |
object このオブジェクトには、メンバーシップのギフトイベントに関する詳細が含まれます。 message type が membershipGiftingEvent の場合にのみ存在します。 |
snippet.membershipGiftingDetails.giftMembershipsCount |
integer ユーザーが購入したメンバーシップ ギフトの数。 |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
string ユーザーが購入したギフト メンバーシップのレベルの名前。レベル名は、メンバーシップを提供している YouTube チャンネルによって定義されます。このフィールドは、状況によっては入力されません。 |
snippet.giftMembershipReceivedDetails |
object このオブジェクトには、ギフト メンバーシップの受け取りイベントに関する詳細が含まれます。 message type が giftMembershipReceivedEvent の場合にのみ存在します。 |
snippet.giftMembershipReceivedDetails.memberLevelName |
string 視聴者がメンバーになっているレベルの名前。これは、関連付けられたメンバーシップ ギフト メッセージの snippet.membershipGiftingDetails.giftMembershipsLevelName と一致します。レベル名は、メンバーシップを提供している YouTube チャンネルによって定義されます。このフィールドは、状況によっては入力されません。 |
snippet.giftMembershipReceivedDetails.gifterChannelId |
string メンバーシップのギフト購入を行ったユーザーの ID。これは、関連付けられたメンバーシップ ギフト メッセージの snippet.authorChannelId と一致します。 |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
string このギフト メンバーシップに関連するメンバーシップ ギフト メッセージの ID。この ID は、常に type が membershipGiftingEvent のメッセージを参照します。 |
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 この値は、投稿者がライブチャットのモデレーターかどうかを示します。 |