我正在尝试传递收集的信息,"自定义维度,"从Google跟踪代码管理器到Google Analytics,然后通过Google Analytics V4 API将其解压缩出来。
我已经在本文中设置了Simo Ahava建议的四个基本自定义维度。
我的变量设置如下所示:
基本上,我已成功将userID_dimension,hittimestamp_dimension,clientid_dimension和sessionid_dimension传递到Google Analytics信息中心,但由于某种原因,我无法通过API提取hittimestamp_dimension。
这是我能在仪表板上看到的内容:
就API本身而言,我使用的是Google提供的HelloAnalytics.py python版本,我能够提取所有上述信息,减去每个信息右侧的时间戳维度。
我将时间戳信息存储在dimension2中,但在进行以下调用时(再次使用API V4),我得到空白......没有。
analytics.reports().batchGet(
body={
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '2017-10-05', 'endDate': '2017-10-06'}],
'samplingLevel': 'LARGE',
'dimensions': [{'name': 'ga:dimension4'},{'name': 'ga:dimension2'}]
}]
}
).execute()
拨打此电话后,可以预期上述内容将报告与Google Analytics信息中心显示的内容类似的维度。例如。人们会认为仪表板本身正在使用API。然而打印出来的是空白。所有其他自定义尺寸均按预期打印出来。
如果我尝试仅在维度2上调用上述函数而没有其他维度,则它也是空白的。
为了在API中提取命中范围的变量,是否需要做一些特别的事情?或者API是否只允许命中范围的变量通过?
感谢,
答案 0 :(得分:0)
您忘记在请求中添加'指标' 字段,根据文档要求 资料来源:Reporting API v4 - Method: reports.batchGet
要求的指标。请求必须至少指定一个指标。请求可以包含总共10个指标。
以下修改过的请求应该有效:
analytics.reports().batchGet(
body={
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '2017-10-05', 'endDate': '2017-10-06'}],
'samplingLevel': 'LARGE',
'dimensions': [{'name': 'ga:dimension4'},{'name': 'ga:dimension2'}],
'metrics': [{'expression': 'ga:sessions'}]
}]
}
).execute()