Python Google Analytics活动用户列表

2024-03-29 02:17:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我的网站有很多潜在用户(不向公众开放)

我有一个谷歌分析账户,一切都很好

我不想遍历所有潜在用户,因为调用每个用户需要很长时间(我有大约1200个用户)

相反,我想要一个给定时间段内仅活动用户的列表

这肯定是可能的

(简单的问题,我很乐意回答任何问题,因为我知道这是一个非常简短的问题)

编辑:

我正在使用python,需要编写代码来实现这一点


Tags: 代码用户编辑列表网站账户公众时间段
1条回答
网友
1楼 · 发布于 2024-03-29 02:17:24

如果您正在寻找可与用户活动API一起使用的用户ID列表,则分析API有一个名为“ga:clientId”的维度,您可以调用该维度,然后使用标准参数进行过滤-这里有一个选项列表,您可以在此进行过滤:

https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#reportrequest

根据您对“活动用户”的描述,下面是一个从python调用REST API的示例:

import requests
import json

credentials = #{ 'your credentials as a dict' }

r = requests.post("https://www.googleapis.com/oauth2/v4/token", data = {
        "client_id": credentials["client_id"],
        "client_secret": credentials["client_secret"],
        "refresh_token": credentials["refresh_token"],
        "grant_type": "refresh_token"
        }
     )

access_token =json.loads(r.text)

body = {
    "reportRequests": [
        {
            'viewId': # "your ga view ID",
            'pageSize': 100000,
            "includeEmptyRows": True,
            "samplingLevel": "LARGE",
            'dateRanges': [
                {
                    'startDate': "7DaysAgo",
                    'endDate': "yesterday"
                }
            ],
            'metrics': [
                {
                   'expression': "ga:sessions"
                }
            ],
            'filtersExpression': "ga:sessions>2",
            'dimensions': [
                {
                    'name': "ga:clientId"
                }
            ]
        }
    ]
}

resp = requests.post("https://analyticsreporting.googleapis.com/v4/reports:batchGet",
                         json=body,
                         headers = {"Authorization" : "Bearer " + access_token["access_token"]}
                        )

resp = resp.json()


print(json.dumps(resp, indent = 4))


clientIds = [ x["dimensions"][0] for x in resp["reports"][0]["data"]["rows"]  ]

print(clientIds)

相关问题 更多 >