google-analytics - 从 Google Analytics 过滤事件类别
问题描述
我正在尝试使用 python 将数据从 GA 导出到我们的企业数据库中。我需要向 GA API 发送一个请求,其中包含我想要提取的信息。这是最需要的身体:
body={
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': queryDate.strftime("%Y-%m-%d"), 'endDate': queryDate.strftime("%Y-%m-%d")}],
'metrics': [{'expression': 'ga:totalEvents',
'expression':'ga:uniqueEvents'}
],
'dimensions': [{'name': 'ga:date'},{'name': 'ga:eventCategory'}, # event
{'name':'ga:dimension1'}, #userid
{'name':'ga:dimension3'}, #sessionid
{'name': 'ga:dimension4'},#timestamp
{'name':'ga:dimension7'}, #country
{'name': 'ga:eventAction'} #azione
],
'dimension_filter_clauses': [
{
'operator': 'AND',
'filters': [
{
'dimensionName': 'ga:eventCategory',
'not': False,
"operator": 'enum(IN_LIST)',
'expressions':[
"Category1",
"Category2"
],
'caseSensitive': False
}],
'filters': [
{
'dimensionName': 'ga:dimension7',
'not':True,
'expressions':['ES'],
'caseSensitive': False
}
]
}
]
,
'pageToken': offset,
'pageSize': 5
}]}
我只想过滤在 IN_LIST 运算符下指定的类别,但似乎过滤器不起作用......我做错了什么?
更新
问题似乎是第二个过滤子句
'filters': [
{
'dimensionName': 'ga:dimension7',
'not':True,
'expressions':['ES'],
'caseSensitive': False
}
解决方案
我要回答自己:从文档中不清楚如何指定多个过滤器。这是有效的:
'dimensionFilterClauses': [
{
'operator': 'AND',
'filters': [
{
'dimensionName': 'ga:eventCategory',
'not': False ,
'operator': 'IN_LIST',
'expressions':[
"Category1"
],
'caseSensitive': False
},
{
'dimensionName': 'ga:deviceCategory',
'not': False,
'expressions': [
deviceQuery
],
'caseSensitive': False
}]
}
]
推荐阅读
- python - 是否有可能使用 statsmodels 中的 OLS 以手动声明某些系数的方式指定线性回归?
- sql - 使用 STRING_AGG 将 sql 转换为 linq
- google-chrome-extension - 注入的脚本未加载
- java - Jackson JSON 转换舍入整数范围以外的值 (2^32)
- css - 如何在 css 类中与其他元素分开选择一堆元素?
- c# - Moq + Autofixture:对依赖属性使用设置会清除整个模拟对象
- javascript - 不使用边框的圆形边框-?
- python - 如何从一个简单的数学方程的结果中创建一个列表?
- pandas - 用 .loc 替换值
- c# - 如何在 LINQ to SQL 中编写右侧为空的 LEFT OUTER JOIN?