本文介绍如何通过Python连接GA4 Data API,并拉取GA4报告数据。示例代码将获取指定日期范围内、每个城市的活跃用户数。
前提条件
开始前,请确认你具备以下条件:
- 有一个Google Cloud项目。
- 有一个GA4媒体资源,并且你拥有该媒体资源的管理权限。
- 本地或云端已安装Python环境。
- 已安装google-analytics-data库。
启用GA4 Data API
在Google Cloud里新建项目
进入Google Cloud Console,点击左上角的项目选择器,然后点击「新建项目」:

将项目命名为“GA For Demo”,然后点击「创建」
开启Google Analytics Data API
现将Google Cloud的工作项目切换为刚创建的“GA For Demo”:

点击右上角的导航菜单,然后点击「API和服务」——「已启用的API和服务」——「+启用API和服务」,搜索“Google Analytics Data API”:

然后启用该API。这个API 用于读取GA4数据报告。
创建服务账号
点击右上角的导航菜单,然后点击「API和服务」——「凭据」:

就可以看到凭据的管理界面:
点击「+创建凭据」——「服务账号」
服务账号命名为“GA4 API TEST”,其他位置默认的就可以,然后点击「完成」
就可以看到:
注意这个邮箱,后面会需要在GA4里授权。
下载JSON秘钥
点击打开服务账号
然后点击「秘钥」——「添加键」——「创建新秘钥」,选择JSON:
点击「创建」,可以看到下载了一个秘钥:

请妥善保存,后面Python代码会用到。
在GA4中授权服务账号
给服务账号ga4-api-test@ga-for-demo.iam.gserviceaccount.com授权,在GA4里点击「管理」——「媒体资源访问权限管理」——「+」——「添加用户」,将其添加,权限类型是“查看者”的就可以:

Python里
安装基础库
在终端中运行:
pip install google-analytics-data
代码调试
# [START analyticsdata_json_credentials_quickstart]
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
DateRange,
Dimension,
Metric,
RunReportRequest,
)
def sample_run_report(property_id="206759202", credentials_json_path="/home/haran_huang/cloudshell_open/python-docs-samples/ga-for-demo-ee78a4d8024e.json"):
client = BetaAnalyticsDataClient.from_service_account_json(credentials_json_path)
# [END analyticsdata_json_credentials_initialize]
# [START analyticsdata_json_credentials_run_report]
request = RunReportRequest(
property=f"properties/{property_id}",
dimensions=[Dimension(name="city")],
metrics=[Metric(name="activeUsers")],
date_ranges=[DateRange(start_date="2025-01-31", end_date="today")],
)
response = client.run_report(request)
# [END analyticsdata_json_credentials_run_report]
print("Report result:")
for row in response.rows:
print(row.dimension_values[0].value, row.metric_values[0].value)
# [END analyticsdata_json_credentials_quickstart]
if __name__ == "__main__":
sample_run_report()
这个代码的作用是获取,2月起,每个城市的活跃用户数。
将Property ID和秘钥替换成你自己的:
运行后数据如下:
关于API的使用量限额,延伸阅读:最近Looker Studio报错的原因:GA4 Data API 限额 或 Google Analytics 4 免费版和付费版对比(2025)
有疑问可以在底部留言