youtube api:获取搜索列表中视频的观看次数'请求

时间:2015-01-17 16:20:28

标签: javascript youtube youtube-api

我正在使用Youtube Javascript API来检索与搜索字符串匹配的一组视频。

它工作得很好,但我似乎无法找到一种方法来获取结果中返回的每个视频的统计信息(尤其是视图计数)。

我没有在API documentation中找到任何结果统计信息。

这可能,或者我是否必须为每个返回的ID进行单独查询?

CODE

function init() {
    gapi.client.setApiKey(API_KEY);
    gapi.client.load('youtube', 'v3');
}

function search() {
        var q = $('#query').val();

        var request = gapi.client.youtube.search.list({
            q: q,
            part: 'snippet',
            type: 'video'
        });

        request.execute(function(response) {
            var str = JSON.stringify(response.result);
            $('#search-container').html('<pre>' + str + '</pre>');
        });
}

2 个答案:

答案 0 :(得分:2)

  

我是否必须为每个返回的ID进行单独查询?

不,不!您只需要使用之前请求的结果再发出另一个请求。

1 - 其实你有这个:

var request = gapi.client.youtube.search.list({
            q: q,
            part: 'snippet',
            type: 'video'
        });

        request.execute(function(response) {
            var str = JSON.stringify(response.result);
            $('#search-container').html('<pre>' + str + '</pre>');
        });

此请求会为您提供某些YouTube视频的id

2 - 然后你需要连接用逗号分隔的所有这个视频的ID。

示例:'P95nErnCoC4, 1d6z0gyA5ys'请参阅此帖子:Create comma-delimited string

3 - 您需要使用资源videos.list

创建另一个请求
var request = gapi.client.youtube.search.list({
            part: 'statistics',
            id: 'P95nErnCoC4, 1d6z0gyA5ys, id_next.....' //concatenate ID
        });

        request.execute(function(response) {
            console.log(response);
        });

然后您只有一个请求中包含统计信息。

答案 1 :(得分:0)

上面的海报有正确的概念,但发出了错误的请求,“part:'statistics'”无法通过“gapi.client.youtube.search.list”请求访问。

要访问statistics参数,您需要使用“gapi.client.youtube.videos.list”请求,该请求可以提供所有元数据。

此请求可以访问我认为与v3客户端API捆绑在一起的分析API。伟大的工作实例如下: https://developers.google.com/youtube/analytics/v1/code_samples/javascript