You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无creds.json文件时,如何在Google Colab中认证GA4 API并拉取数据?

可以通过Colab的现有认证方式拉取Google Analytics数据

完全可以用你熟悉的auth.authenticate_user()认证流程来访问Google Analytics数据,不需要单独创建API密钥或凭据,只要你的账号有对应GA资源的读取权限就行,具体分两种场景:

针对GA4(当前主流版本)

GA4使用Google Analytics Data API v1,操作步骤如下:

  1. 先安装对应的客户端库:
    !pip install google-analytics-data
    
  2. 复用Colab认证初始化客户端并拉取数据:
    from google.colab import auth
    auth.authenticate_user()
    
    from google.analytics.data_v1beta import BetaAnalyticsDataClient
    from google.analytics.data_v1beta.types import RunReportRequest
    import pandas as pd
    
    # 初始化客户端,自动复用Colab的认证会话
    client = BetaAnalyticsDataClient()
    
    # 替换为你的GA4资源ID、目标日期范围、维度指标
    request = RunReportRequest(
        property=f"properties/123456789",
        date_ranges=[{"start_date": "2024-01-01", "end_date": "2024-01-31"}],
        dimensions=[{"name": "city"}],
        metrics=[{"name": "activeUsers"}]
    )
    
    # 执行请求并转换为DataFrame
    response = client.run_report(request)
    rows = []
    for row in response.rows:
        rows.append({
            "city": row.dimension_values[0].value,
            "activeUsers": int(row.metric_values[0].value)
        })
    df = pd.DataFrame(rows)
    print(df)
    

针对旧版Universal Analytics(UA)的Reporting API v4

如果是访问UA数据,安装google-api-python-client库即可:

from google.colab import auth
auth.authenticate_user()

from googleapiclient.discovery import build
import pandas as pd

# 初始化UA报表API客户端
service = build('analyticsreporting', 'v4')

# 构造UA报表请求(替换为你的UA视图ID等参数)
response = service.reports().batchGet(
    body={
        'reportRequests': [
            {
                'viewId': '987654321',
                'dateRanges': [{'startDate': '2024-01-01', 'endDate': '2024-01-31'}],
                'metrics': [{'expression': 'ga:users'}],
                'dimensions': [{'name': 'ga:city'}]
            }]
    }
).execute()

# 将响应转换为DataFrame
rows = []
for report in response.get('reports', []):
    column_header = report.get('columnHeader', {})
    dimension_headers = column_header.get('dimensions', [])
    metric_headers = column_header.get('metricHeader', {}).get('metricHeaderEntries', [])
    
    for row in report.get('data', {}).get('rows', []):
        dimensions = row.get('dimensions', [])
        metrics = row.get('metrics', [])[0].get('values', [])
        row_data = {}
        for header, dim in zip(dimension_headers, dimensions):
            row_data[header] = dim
        for header, val in zip(metric_headers, metrics):
            row_data[header['name']] = int(val)
        rows.append(row_data)
df = pd.DataFrame(rows)
print(df)

关键注意事项

  • 无需额外创建API密钥/凭据,Colab的auth.authenticate_user()会自动使用你登录账号的权限,只要该账号能访问目标GA资源即可。
  • GA4的资源ID和UA的视图ID需要从各自的GA后台获取。

内容的提问来源于stack exchange,提问作者Công Lý

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:47:35