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
},
"giftEventDetails": {
"giftMetadata": {
"jewelsAmount": integer,
"giftName": string,
"giftUrl": string,
"giftDuration": object,
"seconds": integer,
"nanos": integer,
"hasVisualEffect": boolean,
"comboCount": integer,
"altText": string,
"language": string
},
},
},
"authorDetails": {
"channelId": string,
"channelUrl": string,
"displayName": string,
"profileImageUrl": string,
"isVerified": boolean,
"isChatOwner": boolean,
"isChatSponsor": boolean,
"isChatModerator": boolean
},
}プロパティ
次の表は、このリソースで使用されているプロパティの定義を示したものです。
| プロパティ | |
|---|---|
kind |
stringAPI リソースのタイプを識別します。値は 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 Sticker イベントに関する詳細が含まれます。メッセージ タイプが superStickerEvent の場合にのみ存在します。 |
snippet.superStickerDetails.superStickerMetadata |
objectSuper Sticker に関する詳細。 |
snippet.superStickerDetails.superStickerMetadata.stickerId |
stringステッカー画像を識別する一意の ID。画像は、ユーザーが YouTube でチャット ウィンドウを表示している場合にのみ、Super Stickers メッセージの一部として表示されます。ただし、API を使用して画像 URL を取得することはできません。参考までに、この CSV ファイルで、どのステッカー ID がどの Super Sticker に関連しているかを確認できます。 |
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 Sticker も対象)については、YouTube ヘル 2 プセンターをご覧ください。(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 のメッセージを参照します。 |
snippet.giftEventDetails |
objectこのオブジェクトには、ギフト イベントに関する詳細が含まれます。 message type が giftEvent の場合にのみ存在します。 |
snippet.giftEventDetails.giftMetadata |
objectギフト イベントの詳細。 |
snippet.giftEventDetails.giftMetadata.jewelsAmount |
integerギフトと交換したジュエルの数。 |
snippet.giftEventDetails.giftMetadata.giftName |
stringギフトの名前。 |
snippet.giftEventDetails.giftMetadata.giftUrl |
stringギフト アセットの URL。 |
snippet.giftEventDetails.giftMetadata.giftDuration |
objectギフト URL を表示する期間。 |
snippet.giftEventDetails.giftMetadata.giftDuration.seconds |
integerギフト URL を表示する秒数。 |
snippet.giftEventDetails.giftMetadata.giftDuration.nanos |
integerギフト URL を表示するナノ秒数。 |
snippet.giftEventDetails.giftMetadata.hasVisualEffect |
booleanギフトに視覚効果があるかどうか。 |
snippet.giftEventDetails.giftMetadata.comboCount |
integerギフトのコンボ数。コンボでない場合は 0。 |
snippet.giftEventDetails.giftMetadata.altText |
stringギフトを説明するテキスト文字列。 |
snippet.giftEventDetails.giftMetadata.language |
stringaltText プロパティ値の言語。 |
authorDetails |
objectauthorDetails オブジェクトには、このメッセージを投稿したユーザーに関する追加の詳細が含まれます。 |
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この値は、投稿者がチャットのモデレーターであるかどうかを示します。 |