我正在努力获取特定YouTube视频的特定视频的标题。因为他们都可能根植于同一个问题,所以我只是展示一个简单的例子,只需使用API获取标题。这是我到目前为止所做的:
$.ajax({
url: "https://gdata.youtube.com/feeds/api/videos/" + videoID + "?v=2&alt=json",
dataType: "jsonp",
success: function(data) {
videoName = data.entry.title.$t;
$('#video_name').text(videoName);
}
});
对于某些视频,例如this one,这非常有效。对于其他人,例如this one,它不会抓住那些信息。
为什么这不起作用?第二个例子只是一个不能用于此的视频。看来,大约1/3不起作用。
我真的很感激这方面的一些见解。
编辑我如何获得videoID
:
var videoID = getUrlVars()["v"];
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function(m,key,value) {
vars[key] = value;
});
return vars;
}
示例视频的结尾如下:?v=J66NOwZegc4
EDIT2 所以我添加了$ .ajax函数,而这似乎导致了问题:
$.ajax({
url: "https://gdata.youtube.com/feeds/api/videos/" + videoID + "?v=2&alt=json",
dataType: "jsonp",
async: "false",
success: function(data) {
commentCount = data.entry.gd$comments.gd$feedLink.countHint;
iterations = Math.floor(commentCount/50);
remaining = commentCount - (iterations*50);
videoDesc = data.entry.title.$t;
$('#video_name').text(videoDesc);
document.title = 'Watching "' + videoDesc + '" on YTRT';
$('#shareLink').val('http://www.ytrealtime.com?v=' + videoID);
}
});