google-analytics - 如果昨天在日期范围内,是否可以从 Google Analytics Reporting API v4 请求 clientId?
问题描述
当我从谷歌分析报告 api 请求数据时,请求包含
1) 尺寸ga:clientId
2) 日期范围内的昨天日期
我发现无论日期范围如何,响应都会始终返回 10,001 个数据行。下面是一个应该重新创建结果的示例请求。我已经在四个不同的谷歌账户和这些账户中的多个视图中尝试过这个,我得到了相同的行为。这是预期的行为吗?
关于这个问题的一些进一步细节:
1)我在 2020 年 3 月 24 日发布此内容,因此,以下请求中的结束日期是昨天(2020 年 3 月 23 日)。
2) 需要从 api 返回超过 10,000 行才能出现此问题。如果有问题的视图存在少于 10,000 行,则 api 按预期返回所有数据。
3) 如果请求在所讨论的日期(2020 年 3 月 24 日)在大约下午 3 点之前运行,这只是一个问题,如果在大约下午 3 点之后运行,似乎昨天对于 API 来说已经足够历史了预期的。
request = {
'view_id': '123456789',
'dateRanges': [{'startDate': '2020-03-20', 'endDate': '2020-03-23'}],
'metrics': [
{'expression': 'ga:users'},
{'expression': 'ga:visitors'},
{'expression': 'ga:newVisits'},
{'expression': 'ga:sessions'}],
'dimensions': [
{'name': 'ga:campaign'},
{'name': 'ga:channelGrouping'},
{'name': 'ga:sourceMedium'},
{'name': 'ga:dateHourMinute'},
{'name': 'ga:country'},
{'name': 'ga:adGroup'},
{'name': 'ga:clientId'}],
'segments': [],
'samplingLevel': 'LARGE',
'pageSize': 100000
}
这个请求是这样调用的:
self.batch_get_api(body={"reportRequests": [request]}).execute()
其中 batch_get_api 是可调用的:
self.reporting.reports().batchGet
self.reporting 定义为:
self.reporting = self._build_resource("analyticsreporting", "v4", credentials)
def _build_resource(service_name: str, version: str, credentials: Credentials):
return build(
service_name,
version,
http=google_auth_httplib2.AuthorizedHttp(
credentials,
http=Http(timeout=REQUEST_TIMEOUT.total_seconds())),
cache_discovery=False,
)
解决方案
推荐阅读
- c# - 自 .PS1 以来的 ASP.NET C# 输出命令行
- python - 如何返回多个字典的列表/元组作为 Flask 应用程序中函数的输出?
- nearprotocol - 如何使用合约将 NEAR 代币从一个账户转移到另一个账户?
- python - PIP如何确定多个依赖的依赖版本
- azure - Azure Function v3 .NetCore3.1 依赖注入中的错误
- c - C - 函数定义具有参数指针,在调用时传递变量而不是指针,但编译和运行(有时)。如何?
- java - Java - 使用没有键名的随机根元素反序列化 JSON
- javascript - 根据选择字段中的选择值填充
- electron - Electron - Linux - 如何从网络浏览器设置深度链接?
- ios - 即使不再显示,SwiftUI 视图也会不断更新