使用Google Analytics(分析)API每天获取结果,而不是日期范围内的总计

时间:2018-07-13 20:57:57

标签: python google-analytics google-analytics-api

进行Google Analytics(分析)API查询时:

res = service.data().ga().get(ids='ga:152373812', start_date='7daysAgo', end_date='today',
          metrics='ga:users', segment='gaid::7yMBa3f7RimTf2SFtRQaRh').execute()

pprint(res)

在该日期范围(7天前到今天),我得到用户的总数

...
u'rows': [[u'100']]
...

如何获取每天的结果?例如像这样:

{'2018-07-06': 7,
 ...
 '2018-07-12': 17,
 '2018-07-13': 5}

这是完整的报告:

{u'columnHeaders': [{u'columnType': u'METRIC',
                     u'dataType': u'INTEGER',
                     u'name': u'ga:users'}],
 u'containsSampledData': False,
 u'id': u'https://www.googleapis.com/analytics/v3/data/ga?ids=ga:...&metrics=ga:users&segment=gaid::...&start-date=7daysAgo&end-date=today',
 u'itemsPerPage': 1000,
 u'kind': u'analytics#gaData',
 u'profileInfo': {u'accountId': u'...',
                  u'internalWebPropertyId': u'...',
                  u'profileId': u'...',
                  u'profileName': u'...',
                  u'tableId': u'ga:...',
                  u'webPropertyId': u'...'},
 u'query': {u'end-date': u'today',
            u'ids': u'ga:...',
            u'max-results': 1000,
            u'metrics': [u'ga:users'],
            u'segment': u'gaid::...',
            u'start-date': u'7daysAgo',
            u'start-index': 1},
 u'rows': [[u'100']],
 u'selfLink': u'https://www.googleapis.com/analytics/v3/data/ga?ids=ga:...&metrics=ga:users&segment=gaid::...&start-date=7daysAgo&end-date=today',
 u'totalResults': 1,
 u'totalsForAllResults': {u'ga:users': u'100'}}

1 个答案:

答案 0 :(得分:1)

解决方案是添加一个ga:date维度:

res = service.data().ga().get(..., dimensions='ga:date').execute()

最终会给出:

...
u'rows': [[u'20180620', u'9'],
          [u'20180621', u'10'],
          ...
          [u'20180630', u'7']]
...