Javascript Youtube数据API v3-使用逗号分隔的视频ID搜索视频

Javascript Youtube数据API v3-使用逗号分隔的视频ID搜索视频,javascript,youtube-api,Javascript,Youtube Api,我想通过逗号分隔的视频ID字符串搜索仅基于其ID的视频。这是可行的,API资源管理器提供了一个带有逗号分隔ID的示例,通过 GET https://www.googleapis.com/youtube/v3/videos?part=snippet& id=JFex915ZebY%2CVGvHnDeS12o%2CYxHnNdZMngk&key={YOUR_API_KEY} // %2C = comma …但没有介绍如何以友好的GUI格式显示(该死!)。使用一个ID时,下面的代码可

我想通过逗号分隔的视频ID字符串搜索仅基于其ID的视频。这是可行的,API资源管理器提供了一个带有逗号分隔ID的示例,通过

GET https://www.googleapis.com/youtube/v3/videos?part=snippet&
id=JFex915ZebY%2CVGvHnDeS12o%2CYxHnNdZMngk&key={YOUR_API_KEY} // %2C = comma
…但没有介绍如何以友好的GUI格式显示(该死!)。使用一个ID时,下面的代码可以工作,但使用多个ID时,所有代码都会失败。我想知道我必须添加/修改什么才能使下面的代码示例正常工作?我在控制台中遇到以下错误:

TypeError:response.items未定义

. . .

function searchvideo(vq, pageToken) {
$('ol').empty();
gapi.client.setApiKey('API-KEY');
gapi.client.load('youtube', 'v3', function(){
var vIDquery = $('#ytquery').val();

var vrequestOptions = { // Anything missing here?
q: vIDquery,
part: 'snippet'
};

. . .

var vrequest = gapi.client.youtube.search.list(vrequestOptions);

vrequest.execute(function(response) {

. . .

(TypeError: response.items is undefined)

for(var i=0;i<response.items.length;i++) {
var rvideoID = response.items[i].id.videoId; // or snippet.videoId
var rchannelID = response.items[i].snippet.channelId;
var rchannelTitle = response.items[i].snippet.channelTitle;
var rTitle = response.items[i].snippet.title;
var rDescription = response.items[i].snippet.description;
var rthumbnail = response.items[i].snippet.thumbnails.default.url;

. . .
。
功能搜索视频(vq、pageToken){
$('ol').empty();
gapi.client.setApiKey('API-KEY');
load('youtube','v3',function(){
var vIDquery=$('#ytquery').val();
var vrequestOptions={//这里缺少什么?
问:维德查询,
部分:“代码片段”
};
. . .
var vrequest=gapi.client.youtube.search.list(vrequestOptions);
vrequest.execute(函数(响应){
. . .
(TypeError:response.items未定义)

对于(var i=0;i找到了答案,在回答其他问题时,我想到了这个问题:

我只需要正确地指定所需的参数,我发誓我都试过了,哈哈

具体代码如下所示:

. . .

function searchvideo(vIDquery, pageToken) {
$('ol').empty();
gapi.client.setApiKey('YOUR-API-KEY');
gapi.client.load('youtube', 'v3', function(){
var vIDquery = $('#ytquery').val(); // Video Id input box

var requestOptions = {
id: vIDquery, // Changed q: to id:
part: 'id,snippet' // Changed 'snippet' to 'id,snippet'
};

. . .

// Changed youtube.search.list to youtube.videos.list

var request = gapi.client.youtube.videos.list(requestOptions);

. . .
在Data API v2中,我必须编写一个复杂的方法来覆盖错误响应,以便在找到丢失或错误的ID时gdata调用不会失败。我还必须处理无序的视频列表,这些视频列表必须使用数组apply done方法重新排序。现在我看到API 3在没有代码膨胀的情况下工作得非常出色!令人惊叹

希望这能帮助其他人-库内斯