youTube Analytics API中多个过滤器的正确javascript语法是什么?

时间:2014-10-15 09:38:00

标签: javascript youtube-api youtube-analytics

我正在使用youTube Analytics API构建一个JS应用,并且正在努力解决这个问题。我希望按视频和按国家/地区进行过滤(因此只需以GB格式返回该视频的观看次数(在本例中))。

文档为URL请求建议以下内容......

  

检索YouTube Analytics数据时应应用的过滤器列表。 “可用报告”文档标识可用于筛选每个报告的维度,“维度”文档定义这些维度。如果请求使用多个过滤器,请将它们与a连接在一起   分号(;)和返回的结果表将满足两个过滤器。例如,视频的过滤器参数值== dMH0bHeiRNg; country == IT限制结果集包含意大利给定视频的数据。

但我需要用Javascript编写它。尝试了以下但得到了不好的结果。

var request = gapi.client.youtubeAnalytics.reports.query({
    'start-date': datePublished,
    'end-date': endDate,
    ids: 'channel==' + channelId,
    dimensions: 'video', 
    metrics: metric,
    filters:  'video=='+videoId&&'country==GB',

  });

还尝试使用2维(视频和国家/地区) - 此方法忽略视频并仅使用国家/地区。我认为问题在于过滤器的语法 - 任何想法?

由于

威尔

1 个答案:

答案 0 :(得分:0)

来自official documentation

  

如果请求使用多个过滤器,请使用分号(;)将它们连接在一起,返回的结果表将满足两个过滤器。

例如,过滤器参数video == dMH0bHeiRNg; country == IT将结果集限制为包含给定视频在意大利的数据。

因此js请求应类似于:

var request = gapi.client.youtubeAnalytics.reports.query({
    'start-date': datePublished,
    'end-date': endDate,
    ids: 'channel==' + channelId,
    dimensions: 'video', 
    metrics: metric,
    filters:  'video=='+videoId+';country==GB',
  });