点击缩略图后获取YouTube videoID?

时间:2015-09-06 07:52:41

标签: jquery html youtube youtube-api youtube-data-api

所以,我有这个基本的“搜索YouTube”功能,问题是...我有2个获取请求试图从2个不同的数据网址获取信息

https://www.googleapis.com/youtube/v3/search

https://www.googleapis.com/youtube/v3/videos

到目前为止,我已经完成了所有工作,包括显示每个视频的长度以及缩略图,标题等。

但是,我似乎无法做的一件事就是警告视频ID被点击的视频。它只是提出了“未定义”。我已经将我的代码分散了好几个小时,以找出可能出错的地方。有什么帮助吗?

function search() {
    $('#results').html('');

    q = $('#search-input').val();

    $.get(
        "https://www.googleapis.com/youtube/v3/search", {
            part: 'snippet, id',
            q: q,
            maxResults: 50,
            type: 'video',
            key: rfm
        },
        function(data) {
            for (var i = 0; i < data.items.length; i++) {
                $.get(
                    "https://www.googleapis.com/youtube/v3/videos", {
                        part: 'snippet, contentDetails',
                        key: rfm,
                        id: data.items[i].id.videoId
                    },
                    function(video) {
                        if (video.items.length > 0) {
                            var output = getResults(video.items[0]);

                            $("#results").append(output);
                        }
                    });
            }
        });
}

完整代码:  http://codepen.io/mistkaes/pen/6b6a347c7d24edee15b3491420db4ecd?editors=001

1 个答案:

答案 0 :(得分:1)

我检查了您的代码,您在ln79

时遇到错误
function getResults(item) {
    console.log(item);  //This is how you should test
    var videoID = item.id.videoId;
    var title = item.snippet.title;
...

enter image description here

如您所见,没有item.id.videoId,您应该将其更改为item.id

变更结果:

enter image description here