我只是想获取Youtube视频的标题。似乎想不通。到目前为止,我有这个:
q = 'https://www.googleapis.com/youtube/v3/videos?id='+ itemId +'&key='+ ytApiKey +'&fields=items(snippet(channelId,title,categoryId))&part=snippet' ;
$.ajax({
url: q,
dataType: "jsonp",
success: function(data){
alert(data.items[0].title);
console.log(data.snippet.title);
},
error: function(jqXHR, textStatus, errorThrown) {
alert (textStatus, + ' | ' + errorThrown);
}
});
谢谢
我让它使用
https://www.googleapis.com/youtube/v3/videos?id=itemId&key=apiKey&fields=items(snippet(title))&part=snippet
和
alert(data.items[0].snippet.title);
所以,语法没有太大错误!但我发现问题确实出在设置 Google API 的"允许引用者"时后端。使用 V3 API,您可以选择 API 应属于哪些引用,因此其他人不能简单地窃取您的 API 并使用它。因此,如果请求源自您指定的域名/IP,则 API 将起作用。当我不给它限制时,代码有效,但是当我进入我的域时,它会失败!我输入了.mydomainname.com/,格式与建议的格式相同,但不知何故出错了。现在我明白了原因。
以下 jquery 代码将获取视频的标题。
$.ajax({
url: "https://www.googleapis.com/youtube/v3/videos?id=" + videoId + "&key="+ apiKey + "&fields=items(snippet(title))&part=snippet",
dataType: "jsonp",
success: function(data){
console.log(data.items[0].snippet.title);
},
error: function(jqXHR, textStatus, errorThrown) {
alert (textStatus, + ' | ' + errorThrown);
}
});