15

YouTube API を使用すると、ユーザーは、たとえば を介してコメント フィードを取得できますhttps://gdata.youtube.com/feeds/api/videos/VIDEO_ID/comments?orderby=published

ただし、ライブ ストリームのビデオ ID でそれを実行しようとすると、コメントがいくつ送信されても​​、結果は常に空になります。ライブ ビデオと他のビデオ (またはライブ ストリームの録画) の唯一の違いは、「コメント」セクションが「チャット」ボックスに置き換えられていることです。このボックスのコメントは、API 経由では利用できないようです。

ストリームが停止すると、チャット ボックスから送信されたすべてのコメントが完全に「消え」、アクセスできなくなります。ただし、ライブ ブロードキャストがアーカイブされた (つまり、録画が利用可能になった) 後に送信されたすべてのコメントは、コメント フィードに表示されます。

リアルタイム アプリケーションの場合、ブロードキャストがまだライブである間に「チャット」コメントにアクセスして、ユーザーが送信した質問を取得する必要があります。

これを行う方法はありますか?

4

3 に答える 3

10

YouTube Live Streaming API の一部としてエンドポイントを使用して、独自のブロードキャストのチャット メッセージを返すことができるようになりました。LiveChatMessages

新しいliveBroadcastオブジェクトを作成すると、そののliveChatId一部として文字列が返されます。ブロードキャストのチャット ID をエンドポイントのパラメーターに渡し、パラメーターに 、 、およびを渡します。liveBroadcastsnippetLiveChatMessages/listliveChatIdidsnippetauthorDetailspart

HTTP GET https://www.googleapis.com/youtube/v3/liveChat/messages?liveChatId={liveChatId}&part=id%2C+snippet%2C+authorDetails&key={YOUR_API_KEY}

liveChatMessageこれにより、リソースの配列が返されます。実際のチャット メッセージはtextMessageDetails、キーの値としてディクショナリに含まれていmessageTextます。

"textMessageDetails": {
  "messageText": string
}
于 2015-12-23T14:47:38.910 に答える