YouTube Data API V3の search.list を使用するアプリケーションを作成しました。これにより、次を使用して、指定されたチャネル(2018年以降稼働)のアクティブなライブストリームをプルできました。
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCSJ4gkVC6NrvII8umztf0Ow&type=video&eventType=live&key={MYAPIKEY}
上記では、2019年9月12日の時点で結果が返されなくなりました。
検索を特定のチャンネルのすべての動画に拡大しても、アクティブなライブストリームは表示されなくなりました。
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCSJ4gkVC6NrvII8umztf0Ow&order=date&key={MYAPIKEY}
ただし、アクティブなライブストリーム自体のIDを検索すると、ビデオに関する情報が返されるため、これを実現する方法がまだあると思います。
https://www.googleapis.com/youtube/v3/videos?part=snippet&id=hHW1oY26kxQ&key=
チャンネルをクエリしてアクティブなライブストリームが実行されているかどうかを確認し、そのライブストリームのプロパティを取得できる新しいソリューションを探しています。
更新:問題はGoogleによって修正されたようで、通常どおり機能します。
同じ問題が発生しました。検索API eventType = liveは結果を返さず、eventTypeなしでコーディングすると、ライブ動画を含むすべての動画が表示されますが、livebroadcastcontentはライブ動画であっても何も表示しないため、それを分類する方法はありません。それが一時的な失敗であることを願っています。 channelIdをchannelIdに変更しても、効果はありません。
私は次のような一時的な解決策を得ました。 channelIdを削除し、代わりにキーワードを使用しますq = ...これはライブブロードキャストを返します。これは最良または最も便利な解決策ではありませんが、少し役立ちました。 YouTubeは、それでも機能しないchannelIdのeventType-liveで問題nを解決する必要があると思います。
YouTube Data APIには間違いなく何かが起こっています。 Deverloper Consoleで Search:list を試してみると、channelId
を提供している場合は機能しません。ただし、channelId
を指定すると、常に0件の結果が返されます。現在、ライブストリーミングを行っている他のいくつかのチャンネルでこれを試しました。
この同じ問題について他に投稿している人が何人かいます。したがって、この問題が発生しているのは私たちだけではありません。 Googleは何かを修正する必要があります。
グーグルの側で何かが変わったようだ。 「channelId」を「channelID」に変更すると、機能するはずです。ただし、ドキュメントにはまだchannelIdが記載されているため、おそらくそれを元に戻す予定です。
検索クエリの種類(特定のチャネルに関連)は、それぞれの チャネルのアップロードプレイリスト に対する適切なクエリに置き換えることができます。
これを行ったら、 Videosエンドポイント にクエリを実行して、新しく追加されたと判断した一連のビデオをクエリします(以前の呼び出しで PlaylistItemsエンドポイント に対して行った呼び出し)。
そのような各ビデオについて、プロパティ liveBroadcastContent
に到達します。