所以,我似乎遇到了一个我找不到任何相关信息的问题!
从本质上讲,我几乎整天都在尝试编写这个 YouTube API 调用,当我最终认为它已完成时,我意识到它只显示 5 个结果,而不是应有的 7 个结果。
编辑:如果我要在浏览器中访问 $.getJSON('URL'),所有 7 个都会显示在 JSON 调用上。这两个视频在解析过程中似乎丢失了?
jQuery如下:
$.getJSON('https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=7&playlistId=UUmaGgGFQU_1cv3X4pIUzW9g&key={API_KEY}',function(data){
var i = 0;
$.each(data, function() {
if (typeof(data.items[0]) != "undefined") {
console.log('video exists ' + data.items[i].snippet.title);
title = data.items[i].snippet.title;
description = data.items[i].snippet.description;
videoID = data.items[i].snippet.resourceId.videoId;
if ( i <= 0 ) {
$('#player').append('<div class="first-videocontainer"><h3>'+title+'</h3><iframe width="1120" height="630" src="https://www.youtube.com/embed/'+videoID+'" frameborder="0" allowfullscreen></iframe></div>');
}
else {
$('#player').append('<div class="videocontainer"><h3>'+title+'</h3><iframe width="365" height="205" src="https://www.youtube.com/embed/'+videoID+'" frameborder="0" allowfullscreen></iframe></div>');
}
console.log(i);
i++;
} else {
console.log('video not exists');
}
});
});
我已经设置了maxResults=7
,因为我相信这是使用 APIv3(?) 唯一可用的参数。
我也在日志中收到这些错误,尽管通过谷歌搜索它们,我什至不知道它们是否有任何帮助,因为我当然无法从中找到任何建设性的东西:
GET chrome-extension://fjhoaacokmgbjemoflkofnenfaiekifl/cast_sender.js net::ERR_FAILED
XHR failed loading: GET "chrome-extension://fjhoaacokmgbjemoflkofnenfaiekifl/cast_sender.js".
所以我想知道它是否是我刚刚忽略的 jQuery 中的简单东西,或者我的 API 调用是否很糟糕。这是我第一次尝试使用它!
任何帮助,不胜感激。
编辑2:看起来好像它可能会返回默认值并忽略我的参数?但是,如果我设置maxResults=4
它确实会侦听。
文档:https://developers.google.com/youtube/v3/docs/videos/list#id
"maxResults 参数指定应在结果集中返回的最大项数。
注: 此参数支持与 myRating 参数结合使用,但不支持与 id 参数结合使用。可接受的值为 1 到 50(含 1 和 50)。默认值为 5。
我回复晚了,但请使用这个网址
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={channelId}&maxResults=50&key={apikey}
快乐的涂鸦