特定の 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);
}
});
このような一部のビデオでは、これは完全に機能します。このような他のものについては、その情報を取得することはありません。
これが機能しないのはなぜですか?その 2 番目の例は、これでは機能しない 1 つのビデオです。約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);
}
});