// This is a first attempt at using YouTube's v3 API. It doesn't require authentication.
getAutoGeneratedPlaylistData: function() {
gapi.client.setApiKey('{API_KEY}');
gapi.client.load('youtube', 'v3', function () {
var request = gapi.client.youtube.playlistItems.list({
part: 'contentDetails',
maxResults: 50,
playlistId: 'ALYL4kY05133rTMhTulSaXKj_Y6el9q0JH',
fields: 'items/contentDetails'
});
request.execute(function (response) {
console.log("Response:", response);
});
});
}
このコードは、自動生成された YouTube プレイリストのプレイリスト ID を取得し、そこから最初の 50 項目を取得します。
提供されたレスポンスの contentDetails には、各動画の ID が含まれています。
自動生成されたプレイリストのすべてのビデオ情報を取得したい場合、YouTube に 2N リクエストを発行する必要があるようです。N は、プレイリストからすべての動画 ID を 50 以下のセットで取得するように要求します。すべての動画 ID を取得したら、YouTube にすべての動画の動画情報を要求する必要があります。1 回のリクエストで 50 本の動画のデータを取得できます。つまり、すべての動画を取得するために YouTube にさらに N 回のリクエストを行うことになりますか?
これは、設計上の決定が不十分なようです。以前は、v2 API を使用して、プレイリストのすべての情報を取得すると、最初のリクエストでビデオに必要なすべての情報を送信できました。
V3 API を使用すると、これはできなくなりますか? O(2N) のネットワーク コストが発生することになっていますか? 本当に?