jquery - 无法从youtube通过json提取视频

标签 jquery ajax json youtube xmlhttprequest

有时当我通过json提取youtube视频时遇到此错误,这是一个示例:

XMLHttpRequest无法加载https://gdata.youtube.com/feeds/api/users/IcarusTouma?&alt=json。 Access-Control-Allow-Origin不允许使用Origin http://localhost

我尝试使用jsonp,但youtube不接受jsonp。

因此,请从youtube提取视频。

$. getJSON ('https://gdata.youtube.com/feeds/api/videos/' + id_video + '? & alt = json', function (data) {
if (typeof data! == "undefined" && data)
{
     var title = data ['entry'] ['title'] ['$ t'];
     var thumb = data ['entry'] ['media $ group'] ['media $ thumbnail'] [0] ['url'];
     var title = data ['entry'] ['author'] [0] ['name'] ['$ t'];
     $. getJSON ('https://gdata.youtube.com/feeds/api/users/' + author + '? & alt = json', function (data) {

     author_thumbnail var = data ['entry'] ['media $ thumbnail'] ['url'];
     $ ('.items').append(html_carousel (thumb, title, author_thumbnail, author, 5,' youtube ', id_video, author'));

     });
}
});

最佳答案

刚刚检查了YouTube数据API引用文档后,无论是JSON还是较新的JSON-C格式,它们都接受JSON-P,允许您通过callback GET字符串参数指定回调。该链接将证明这是真的:

https://gdata.youtube.com/feeds/api/videos?q=baseball&v=2&alt=jsonc&callback=functionName

在这种情况下,长JSON对象返回包装在对functionName的函数调用中。下一个URL是相同的调用,但使用旧的(且已过时)JSON格式:

https://gdata.youtube.com/feeds/api/videos?q=baseball&v=2&alt=json&callback=functionName

数据有些不同,但结果集相同,包装在另一个对functionName的调用中。现在,这些调用是查询,用于获取与搜索参数(“棒球”)匹配的视频。但是我敢肯定,仔细阅读他们的引用文档(对于JSON-CJSON格式)将产生使它正常工作所需的内容,作为JSONP调用,在查询字符串中指定回调。

关于jquery - 无法从youtube通过json提取视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9552168/

相关文章:

javascript - jquery 无法从保存的 `visible` 中获取 `jquery object` 元素

javascript - div 左侧响应图像固定 100% 高度,div 右侧文本可滚动

javascript - 如何通过单击上下文菜单来调用预定义函数?

JavaScript 表单验证改进

java - 使用 HTTP 请求获取最后一个 JSON 数组元素

javascript - jquery 动画使 ipad 挂起

javascript - ajax js-php POST 请求无法正常工作,没有 jQuery

jquery - 可使用 jQuery 和 Ajax 进行排序

javascript - 为 Google MAPS API v3 放置来自 JSON 数据的标记

javascript - 有没有办法用Python解密AES?