Google Analytics V4 API:获取过去 30 天的数据

23t*_*tux 1 analytics google-analytics google-analytics-api universal-analytics

我正在使用 google Analytics 的报告 api v4。我想在后端显示一个图表,其中显示一些指标的过去 30 天。问题是,我只得到累积/求和值。

例如,这是我发送到 api 的正文

  body = {
    reportRequests: [{
      dateRanges: [
        {
          startDate: Date.parse('2016/10/01'),
          endDate: Date.parse('2016/10/31')
        }
      ],
      viewId: '12345',
      metrics: [{ expression: "ga:users" }],
      dimensions: [{ name: "ga:pagePath" }]
    }]
  }
Run Code Online (Sandbox Code Playgroud)

然后我得到很多 URL(当然,我没有过滤输出),如下所示:

{"reports"=>
  [{"columnHeader"=>
     {"dimensions"=>["ga:pagePath"],
      "metricHeader"=>
       {"metricHeaderEntries"=>[{"name"=>"ga:users", "type"=>"INTEGER"}]}},
    "data"=>
     {"rows"=>
       [{"dimensions"=>["/"], "metrics"=>[{"values"=>["2854"]}]},
        {"dimensions"=>["/?extlink_img=0"], "metrics"=>[{"values"=>["113"]}]},
        {"dimensions"=>["/?v=338"], "metrics"=>[{"values"=>["12"]}]},
        ...
Run Code Online (Sandbox Code Playgroud)

但是,当我想要最近 30 天的用户数以获取特定路线(例如)时,我应该如何查询 api /?这可能吗?

23t*_*tux 6

我自己发现了,这是有一个维度的ga:date::

  body = {
    reportRequests: [{
      dateRanges: [
        {
          startDate: Date.parse('2016/10/01'),
          endDate: Date.parse('2016/10/31')
        }
      ],
      viewId: '12345',
      metrics: [{ expression: "ga:users" }],
      dimensions: [{ name: "ga:pagePath" }, {name: 'ga:date'}]
    }]
  }
Run Code Online (Sandbox Code Playgroud)

还有其他与时间相关的维度https://developers.google.com/analytics/devguides/reporting/core/dimsmets#view=detail&group=time