单击缩略图时获取 YouTube videoID?

Get YouTube videoID when the thumbnail is clicked?

所以,我有这个基本的 "Search YouTube" 功能,问题是...我有 2 个获取请求试图从 2 个不同的数据 URL 获取信息

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

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

到目前为止,我已经掌握了显示每个视频的长度以及缩略图、标题等的所有内容。

但是我似乎无法做的一件事是提醒被点击视频的 videoID。它只是想出了 "undefined"。我连续几个小时分散了我的代码,以找出可能出错的地方。有帮助吗?

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

我检查了你的代码,你在 ln79 有错误

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

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

变更结果: