如何从Google Analytics Reporting API v4 Python获取前50个会话
我有一个Python中的analytics reporting api v4脚本,它返回给我特定登录页的会话以及会话来自哪个城市 是否有办法将此限制为会话的每个登录页上的前50个城市位置,这样我就不会返回正在登录的城市位置,例如有1个会话 以下是分析请求的基本代码:如何从Google Analytics Reporting API v4 Python获取前50个会话,python,python-3.x,google-analytics,google-analytics-api,Python,Python 3.x,Google Analytics,Google Analytics Api,我有一个Python中的analytics reporting api v4脚本,它返回给我特定登录页的会话以及会话来自哪个城市 是否有办法将此限制为会话的每个登录页上的前50个城市位置,这样我就不会返回正在登录的城市位置,例如有1个会话 以下是分析请求的基本代码: api_client = google_build(serviceName=api_name, version=api_version, http=authorized) for i in developments: sample
api_client = google_build(serviceName=api_name, version=api_version,
http=authorized)
for i in developments:
sample_request = {
'viewId': '6690350',
'pageSize': 100000,
'dateRanges': {
'startDate': datetime.strftime(datetime.now() - timedelta(days = 30),'%Y-%m-%d'),
'endDate': datetime.strftime(datetime.now(),'%Y-%m-%d')
},
'metrics': [{'expression': 'ga:sessions'}],
'orderBys':
[
{'fieldName': 'ga:pagePath', 'sortOrder': 'ASCENDING'},
{'fieldName': 'ga:sessions', 'sortOrder': 'DESCENDING'}
],
'dimensions': [{'name': 'ga:pagePath'},{'name': 'ga:city'},{'name': 'ga:latitude'},{'name': 'ga:longitude'}],
'dimensionFilterClauses' : [
{
编辑-要获得特定登录页的top
x
城市,通过单个查询是不可行的,您必须使用内容分组功能或处理更广泛的响应才能实现这一点
原始响应-
添加到代码中可能不完整,请查看仅添加的metricFilterClauses部分
通过使用分页和PageSize限制获得的行数,可以获得前50个结果。在应用分页之前,请确保使用排序
进行排序
您必须使用batchGet请求
执行此操作-
您可以使用筛选出所需的特定度量。您可以使用来根据要使用的条件进行筛选。是否尝试添加筛选器?我已经考虑过了,但不完全确定我将如何为我的处境做这件事。嗨,这里,这与我所希望的有所不同。这显示了该市举办了50多场会议。但是我正在尝试导出为登录页提供会话的前50个城市。编辑了PageSize的答案,您可以通过排序将行数限制为50,以获得它。编辑的问题是,它只会输出50个结果,但我希望每个登录页都有前50个会话。不幸的是,这种编辑将其限制在前50个会话中,仅在第一个登录页停止。我认为这在单个查询中是不可行的,可以通过内容分组或运行多个查询或处理总响应来实现。
api_client = google_build(serviceName=api_name, version=api_version,
http=authorized)
for i in developments:
sample_request = {
'viewId': '6690350',
'pageSize': 100000,
'dateRanges': {
'startDate': datetime.strftime(datetime.now() - timedelta(days = 30),'%Y-%m-%d'),
'endDate': datetime.strftime(datetime.now(),'%Y-%m-%d')
},
'metrics': [{'expression': 'ga:sessions'}],
#add this metric filter to filter out with session more than 50
'metricFilterClauses': [{
"filters": [{
"metricName": "ga:sessions",
"operator": "GREATER_THAN",
"comparisonValue": "50"
}]
}]
'orderBys':
[
{'fieldName': 'ga:pagePath', 'sortOrder': 'ASCENDING'},
{'fieldName': 'ga:sessions', 'sortOrder': 'DESCENDING'}
],
'dimensions': [{'name': 'ga:pagePath'},{'name': 'ga:city'},{'name': 'ga:latitude'},{'name': 'ga:longitude'}]
#top 50 results
'pageSize': 50