我正在尝试在YouTube视频上显示信息,一点信息就是看视频是否可嵌入我试图使用yt $ accessControl但我不知道如何返回权限{{1} } http://jsfiddle.net/YourBlogspot/eWJWZ/29/
{"action":"embed","permission":"allowed"}
答案 0 :(得分:2)
看看jsfiddle:http://jsfiddle.net/eWJWZ/35/
使用'alt = jsonc'发出请求,对于dataType将其设置为JSON。 JSONC格式非常易于使用。
function getYouTubeInfo() {
$.ajax({
url: "http://gdata.youtube.com/feeds/api/videos/VA770wpLX-Q?v=2&alt=jsonc",
dataType: "json",
success: function (data) {parseresults(data)}
});
}
function parseresults(result) {
console.log(result);
var title = result.data.title;
var description = result.data.description;
var viewcount = result.data.viewCount;
var author = result.data.uploader;
var embedallow = result.data.accessControl.embed;
$('#title').html(title);
$('#description').html('<b>Description</b>: ' + description);
$('#extrainfo').html('<b>Author</b>: ' + author + '<br/><b>Views</b>: ' + viewcount);
$('#embeddallowed').html('<b>allowed</b>: ' + embedallow + '<br/>');
}
$(document).ready(function () {
getYouTubeInfo();
});
答案 1 :(得分:0)
我没有检查过您的代码,但如果我认为它是正确的,您必须像这样修改:
var result = function(myData){
var isEmbeddable = null;
$.ajax({
url: "http://gdata.youtube.com/feeds/api/videos/VA770wpLX-Q?v=2&alt=json",
dataType: "jsonp",
async: false,
success: function (data) { isEmbeddable = parseresults(data) }
});
return isEmbeddable;
}
function parseresults(data) {
var title = data.entry.title.$t;
var description = data.entry.media$group.media$description.$t;
var viewcount = data.entry.yt$statistics.viewCount;
var author = data.entry.author[0].name.$t;
var embedallow = data.entry.yt$accessControl[5].permission;
$('#title').html(title);
$('#description').html('<b>Description</b>: ' + description);
$('#extrainfo').html('<b>Author</b>: ' + author + '<br/><b>Views</b>: ' + viewcount);
$('#embeddallowed').html('<b>allowed</b>: ' + embedallow + '<br/>');
return embedallow;
}
它应该返回您寻求的权限的值。
顺便说一句,我已经改变了嵌入值的路径,它是:
var embedallow = data.entry.yt$accessControl[5].permission;
测试一下,告诉我这是否适合你!