试图从youtube api中获取数据

时间:2015-07-01 10:36:06

标签: ajax json api youtube-api

所以我试图用Ajax从youtube api中获取数据。我尝试过以下方法:

var url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=2&playlistId=PL55713C70BA91BD6E&key=my_key';
$.getJSON(url, function (data) {

    $.each(data, function () {
            console.log(data);
    });
    });

正如你所看到的,我在var url中有一个随机播放列表的url。之后我循环遍历所有数据,最后我想调试所有数据。它给了我以下数据:

enter image description here

由于某种原因,它可以为我提供5次所有数据,如截图所示。此外,当我用'console.log(data.items.id)'替换'console.log(data)'时,它在我的控制台中显示以下内容:

enter image description here

出于某种原因,它给了我所有数据x5,它似乎也没有识别出“项目”。有没有人知道我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

沿着这些方面的某些东西可能会起作用:

var url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=2&playlistId=PL55713C70BA91BD6E&key={YOUR-API-KEY}';

$.getJSON(url, function (data) {
    data.items.forEach(function (item) {
            console.log(item.snippet.title);
    });
});

如果您想坚持使用jQuery each,那么您可以这样做:

$.getJSON(url, function (data) {
    $.each(data.items, function (key, value) {
            console.log(value.snippet.title);
    });
});

each函数将数组中的每个项目交给您的函数,因此您需要(key, value)签名,以便您可以在迭代器函数中访问它们。