15

私は現在、Youtube の API v3 に苦労しており、思い通りに動作させることができません。私の目標は、選択したプレイリストから最新のビデオを自分の Web サイトにロードすることです。問題は、応答で最も古いビデオのみを表示していることです。

プレイリストをロードするには、次の API URI をリクエストします: https://www.googleapis.com/youtube/v3/playlistItems

リクエストの例を次に示します (実行をクリックするだけです): http://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list?part=id%252Csnippet%252CcontentDetails%252Cstatus&playlistId= PLOU2XLYxmsIKGo-dgliIJQNZ6L3G8UV4b&_h=1&

結果を並べ替えて、最新のビデオを最初に取得するにはどうすればよいですか? ドキュメントには何も見つかりませんでした。結果を並べ替えることができなければ、この API を使用しても意味がありません。唯一の方法は、トークンごとに次のページをロードし続けることですべてのビデオをロードすることですが、それは正気ではありません。

何か案が?基本的な問題のように聞こえますが、解決策が見つかりません...

4

4 に答える 4

15

現在の API には、プレイリスト アイテムを一覧表示するための並べ替えオプションはありませんが、アイテムをプログラムで挿入する場合は、position挿入時に値を指定して、新しい動画をリストの一番上に表示することができます。

ビデオを追加しているのが他の誰かである場合は、すべてのページを取得する必要があります。プレイリストは 200 アイテムに制限されているため、これには最大で 4 つのリクエストが必要です。理想的ではありませんが、現在はこれが唯一のオプションです。

于 2014-04-06T18:24:49.630 に答える
8

これは現在の YouTube API の制限のようであり、その作成者は非常に近視眼的であるようです.

これはあなたの問題を正確に解決するものではありませんが、同様の問題を抱えている他の人にとっては、「検索」クエリを使用してある程度注文できることがわかりました。

これにより、プレイリストのリストを要求するのではなく、プレイリストを検索して (playlistItems ではなく) クエリを並べ替えることができました。したがって、私のクエリ:

https://www.googleapis.com/youtube/v3/playlists?part=snippet&maxResults=20&channelId={channelID}&key={API_KEY}

なりました:

https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&order=date&safeSearch=none&maxResults=20&channelId={channelID}&key={API_KEY}

動画や検索キーワード、その他いくつかのパラメータを検索することもできるので、この方法で目的の結果が得られるかもしれません。

于 2015-01-21T11:10:22.780 に答える