我真的希望有人能为我解释一下。
我已经建立了一个脚本,该脚本使用Python向Google Analytics Reporting API V.4.0.发出请求以获取会话数据。但是,根据我使用的日期范围,某些日期会返回不同的行数。
例如,当请求(在这种情况下)2018-05-17的数据时,我得到41行。如果我稍微扩展日期范围,则该天的行数保持在41,但是如果我走得太远,例如从2018-05-01到2018-07-10,那么2018-05-17的行数突然从41变为40。缺少一行,我不知道发生了什么,当然也不知道为什么发生。
我没有任何迹象表明已对数据进行了采样(samplesReadCounts
和samplesReadCounts
都未定义)。我还通过将pageToken
设置为先前的nextPageToken
值进行连续请求来进行分页(除非pageSize
足够高,如下面的请求所示)。我还获得了日期范围内所有其他日期的正确行数(与将日期范围设置为每个日期的返回行数相比)。
这是我用于此特定请求的实体(虚拟viewId
):
{'reportRequests': [{'viewId': '123456789',
'dateRanges': [{'startDate': '2018-05-01', 'endDate': '2018-07-10'}],
'dimensions': [{'name': 'ga:date'},
{'name': 'ga:sourceMedium'},
{'name': 'ga:campaign'},
{'name': 'ga:deviceCategory'}],
'metrics': [{'expression': 'ga:sessions'},
{'expression': 'ga:pageviews'},
{'expression': 'ga:bounces'},
{'expression': 'ga:sessionDuration'},
{'expression': 'ga:newUsers'}],
'pageToken': '0',
'pageSize': '10000',
'includeEmptyRows': True,
'hideTotals': True,
'hideValueRanges': True}]}
这是删除所有行的响应:
{'columnHeader': {'dimensions': ['ga:date',
'ga:sourceMedium',
'ga:campaign',
'ga:deviceCategory'],
'metricHeader': {'metricHeaderEntries': [{'name': 'ga:sessions',
'type': 'INTEGER'},
{'name': 'ga:pageviews', 'type': 'INTEGER'},
{'name': 'ga:bounces', 'type': 'INTEGER'},
{'name': 'ga:sessionDuration', 'type': 'TIME'},
{'name': 'ga:newUsers', 'type': 'INTEGER'}]}},
'data': {'rows': [], 'rowCount': 3817, 'isDataGolden': True}}
我看不到任何指示数据不完整和正确的指示。但仍然缺少一行。