0

快速概述我的应用程序正在做什么:

  1. 客户通过 OAuth 对其 Google 帐户进行身份验证。
  2. 我检索他们的访问和刷新令牌并存储它们以供使用
  3. 我对观看次数、评论等基本指标进行 YouTube 分析报告查询。我从今天开始查询,并及时倒退。

我的问题是:我怎么知道什么时候停止查询?

即使我指定了 1980 年的日期,API 似乎也没有返回任何错误。API 似乎没有返回任何结果,因为“rows”字段不存在:

{"kind":"youtubeAnalytics#resultTable","columnHeaders":[{"name":"day","columnType":"DIMENSION","dataType":"STRING"},{"name":"views" ,"columnType":"METRIC","dataType":"INTEGER"}]}

如果API返回这样的结果,而“rows”字段不存在,我停止查询是否可靠?我担心的是,如果客户在某个时间段内没有任何数据,并且 API 返回这种类型的结果(缺少“行”字段),客户是否有可能在他的时间段之前仍有数据?因此我应该继续向后查询?我怎么知道什么时候停止?

4

1 回答 1

0

YouTube 于 2005 年 2 月推出,因此您至少不必在此之前查询日期 :)

但是,似乎没有任何观看次数的天会返回 0 次观看,而视频或频道存在之前的几天不会返回一行,因此当没有更多行返回时,您应该安全地停止。

但是,与其每天查询,不如查询您感兴趣的整个日期间隔,从而只查询一次?使用 start-date=2005-01-01 和 end-date={$today} 并且尺寸=day?

我最近上传的视频,观看次数非常有限:

https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DYHMS8hN8s49F93iJuEgG6w&start-date=2005-01-01&end-date=2013-01-21&metrics=views%2Ccomments&dimensions=day&filters=video%3D%3D_iwmv6644dA&sort=day&key={YOUR_API_KEY}

回复:

{
  "kind": "youtubeAnalytics#resultTable",
  "columnHeaders": [
    {
      "name": "day",
      "columnType": "DIMENSION",
      "dataType": "STRING"
    }, {
      "name": "views",
      "columnType": "METRIC",
      "dataType": "INTEGER"
    }
  ],
  "rows": [
    ["2013-01-07", 1],
    ["2013-01-08", 0],
    ["2013-01-09", 0],
    ["2013-01-10", 0],
    ["2013-01-11", 0],
    ["2013-01-12", 1],
    ["2013-01-13", 0],
    ["2013-01-14", 1],
    ["2013-01-15", 0],
    ["2013-01-16", 0]
    ["2013-01-17", 0],
    ["2013-01-18", 0],
    ["2013-01-19", 0],
  ]
}

顺便说一句,我使用 API Explorer 进行了尝试:https ://developers.google.com/youtube/analytics/v1/

于 2013-01-21T22:01:53.433 回答