这一篇介绍用R连接GA4提取数据,采用直接通过网页授权的方式获取,而不是在控制台授权获取秘钥的方式。
前置条件
你需要准备:
- 已安装 R 和 RStudio。
- 本机代理软件已开启,且能访问 Google。
- 一个有权访问目标 GA4 媒体资源的 Google 账号。
- GA4的媒体资源 ID(Property ID),注意不是 G-XXXXXXX 衡量 ID,也不是 UA 的 UA-XXXXX。查看路径:GA4 → 管理 → 媒体资源 → 媒体资源设置 → 媒体资源 ID。
第 1 步:设置代理
R需要能访问Google,才能完成OAuth授权和调用GA4 API。
在Rstudio上执行:
Sys.setenv(http_proxy = "http://127.0.0.1:7890",
https_proxy = "http://127.0.0.1:7890")
注意:
- 7890 是 Clash 常见端口,如果你的代理端口不同,请替换。
- 如果代理需要账号密码,格式为:http://用户名:密码@127.0.0.1:端口。
- 该设置仅在当前R会话有效,重启RStudio后需要重新设置。
验证代理是否设置成功:
Sys.getenv("https_proxy")
如果为空,说明设置失败。
第 2 步:安装并加载包googleAnalyticsR
# 如果已经安装过,可跳过 install.packages
install.packages(c("googleAnalyticsR")
library(googleAnalyticsR)
第 3 步:OAuth 网页授权
这里使用 Google OAuth 网页授权,无需服务账号密钥,更适合个人快速使用。
# 自动弹窗登录 Google 账号 ga_auth()
执行后,R 会尝试打开浏览器,弹出 Google 授权窗口,选择你的 Google 账号,点击“允许”即可。
如果之前已经授权过,可能不会再次弹窗,而是直接使用缓存。
第 4 步:设置 GA4 Property ID
# ←← 替换你的 Property ID ←← PROPERTY_ID <- "206759202"
注意:这里建议用数字,而不是字符串。
如果你有多个媒体资源,请确认 ID 没有填错。
第 5 步:获取最近 7 天数据
执行如下代码,获取最近7天的数据:
raw_data <- ga_data(
propertyId = PROPERTY_ID,
date_range = c("7daysAgo", "yesterday"),
metrics = "activeUsers",
dimensions = "date"
)
说明:
- date_range = c(“7daysAgo”, “yesterday”):最近 7 天,截止到昨天。
- metrics = “activeUsers”:活跃用户数。
- dimensions = “date”:按日期拆分。
- 返回结果是 data.frame。
第 6 步:处理日期、排序、输出
raw_data$date <- as.Date(raw_data$date, format = "%Y%m%d")
# 按日期升序排序(不用 arrange)
raw_data <- raw_data[order(raw_data$date), ]
# 输出结果
cat("过去7天每日用户数:\n")
print(raw_data)
就可以看到数据:





