27

すべての新しいサブスクリプション ビデオを取得するためのこの v2 要求と同等の、YouTube Data API v3 の要求を知る必要があります。

https://gdata.youtube.com/feeds/api/users/default/newsubscriptionvideos

v2 バージョンのリクエストほどシンプルでクリーンなリクエストは見たことがありません。

4

3 に答える 3

26

Youtube V3 API を使用してこの情報を取得できますが、非常に非効率的です。

  • まず、ユーザー名からチャンネル ID を取得します (1 つの要求)。
  • 次に、チャンネルのサブスクリプションを取得します (バッチ可能 - 50 のサブスクにつき 1 つのリクエスト)。
  • 購読しているチャンネルごとにプレイリストを取得します (バッチ可能 - 50 の購読者ごとに 1 つのリクエスト)。
  • 各チャンネルの「アップロード」システム プレイリストの最新のプレイリスト アイテムを取得します。(サブごとに 1 つの要求)。
  • 各プレイリストアイテムに関連するビデオを取得します (バッチ可能 - 1 回のリクエストで 50 プレイリストアイテム)。

ビデオを公開日で並べ替えて、最新のものを印刷できるようになりました。

100 のサブスクリプションがあり、各チャンネルから 5 本の動画をフェッチすると、114 の API リクエストが発生し、約 500 クォータ ユニットが使用されます (1 日あたりの上限は 5,000 万ユニット)。また、API 呼び出しを並列化しない場合、実行に約 2 分かかります。

ただし、この方法には、アクティビティを使用するよりもいくつかの利点があります。

  • 認証されたユーザーだけでなく、パブリック アカウント設定を持つ任意のユーザーに対して実行できるため、その点では V2 API のように機能します。
  • YouTube のホームページのように動画がランダムに失われることはありません。

完全な Python 実装が利用可能です: https://github.com/ali1234/ytsubs

于 2014-05-12T22:47:41.777 に答える
7

正確に同等のものはありませんが、近づくことができます

youtube.activities.list(part=”snippet”, home=true)

次に、snippet.type = uploadでフィルタリングします

于 2013-10-28T18:11:54.480 に答える