4

YouTube API を使用して 100 件を超える結果を取得する方法はありますか?

このクエリ文字列を使用して、最大 100 件の結果を取得できます: https://gdata.youtube.com/feeds/api/videos?q=football&orderby=relevance&start-index=1&max-results=10&v=2

しかし、試してみると https://gdata.youtube.com/feeds/api/videos?q=football&orderby=relevance&start-index=101&max-results=10&v=2

私は得る: http://www.w3.org/2005/Atom' xmlns:openSearch=' http://a9.com/-/spec/opensearch/1.1/ ' xmlns:gd=' http://schemas. google.com/g/2005 ' gd:etag='W/"C0YFQHg9fyp7I2A9WhBVGUk."'>tag:youtube.com,2008:videos2013-04-26T01:51:51.667Zhttp://schemas.google.com/g/ 2005#kind' term=' http://gdata.youtube.com/schemas/2007#video '/>一致する動画: サッカーhttp://www.youtube.com/img/pic_youtubelogo_123x63.gif https://www. youtube.com'/>http://schemas.google.com/g/2005#feed' type='application/atom+xml' href=' https://gdata.youtube.com/feeds/api/videos? v=2 '/>http://schemas.google.com/g/2005#batch' type='application/atom+xml' href=' https://gdata.youtube.com/feeds/api/videos/batch?v=2'/>https://gdata.youtube.com/feeds/api/videos?q=football&start-index=101&max-results=10&orderby=relevance&v=2'/>https://gdata.youtube.com/feeds/api /videos?alt=atom-service&v=2'/>https://gdata.youtube.com/feeds/api/videos?q=football&start-index=91&max-results=10&orderby=relevance&v=2'/>YouTube http: //www.youtube.com/ http://gdata.youtube.com'>YouTube データ API10010110

私の理解では、YouTube 検索 API を使用して 999 件の結果を取得できます。なぜこれが100に限定されているのですか?100 を超える結果を取得するための回避策はありますか?

ありがとう!

4

6 に答える 6

7

totalResults の上限を 100 に制限する何かが内部的に変更されたかどうかはわかりませんが、今日では全体的にかなり一般的な問題のようです。ただし、API の v3 を使用してみる場合、これは問題になりません。たとえば、次のクエリです。

https://www.googleapis.com/youtube/v3/search?q=football&part=id&key=YOUR_DEVELOPER_KEY

さらに多くの合計結果が得られます。v3 では、応答ごとに最大 50 個の動画が返される maxResults パラメータを設定し、pageToken パラメータを特定の応答の「nextPageToken」属性に設定することで、応答をページ分割できます。

于 2013-04-26T05:45:34.440 に答える
1

このようにしてみてください https://gdata.youtube.com/feeds/api/videos?q=football&orderby=relevance&v=2 デフォルトのサイズになります。開始インデックスとサイズを使用すると、ページネーション メカニズムが使用されます。ここが問題だと思います。残念なことに、Google youtube API はクエリごとに最大 50 個の動画しかサポートしていません。ドキュメントにあります。999 個のビデオは、ビデオ フィードに含めることができる合計ビデオです。照会するビデオの数ではありません。すべてのビデオが返されるため、誤って取得しないでください。すべてのビデオを確認するには、開始インデックスとサイズでページネーションを使用する必要があります。

于 2013-04-26T06:04:45.493 に答える
1

このURLを使用できます

https://www.googleapis.com/youtube/v3/search?q=football&part=id&key=YOUR_DEVELOPER_KEY&max-results=150

簡単に100以上の結果が得られます

于 2013-04-26T13:00:14.220 に答える
0

ページネーションのキャッシング/エスカレートの問題があります。

ここでこの回答を確認してください。

フィードをページングする正しい方法は、開始インデックスなしでフィードの最初の要求を行い、存在するかどうかを確認し、存在する<link rel="next'...>場合はその URL を使用してフィードの次のページを取得することです。

于 2014-04-06T23:17:41.690 に答える
0

API への各ページネーション呼び出しの間に小さな一時停止を入れると、400 件の結果が返されることがわかりました。これは、ページごとに平均 1 回の呼び出しで、各呼び出しの間に 2 秒かかります。それは私のために働く。さらに取得したい場合は、API への接続を閉じて、1 ~ 2 分後に再試行する必要があります。

于 2018-04-17T16:17:58.287 に答える