// 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 播放列表的 playlistId 并从中检索前 50 个项目。
提供的响应的 contentDetails 包含每个视频的 ID。
似乎如果我想检索自动生成的播放列表的所有视频信息,我需要向 youtube 发出 2N 个请求?N 请求从播放列表中检索所有视频 ID,每组不超过 50 个。一旦我拥有了所有视频 ID……然后我需要向 YouTube 询问所有视频的视频信息。我可以在一个请求中获取 50 个视频的数据......所以这是另一个 N 请求 YouTube 检索所有视频?
这似乎是一个糟糕的设计决定。以前,使用 v2 API,如果我正在检索播放列表的所有信息,我可以在初始请求中发送视频的所有必要信息。
这是否不再可能使用 V3 API?我是否应该承担 O(2N) 网络成本...?真的吗?