手把手教你用R连接Google Analytics的API取出数据

GA API使用 GA小站 3737次浏览 已收录 8个评论

Google Analytics非常强大,但是免费版的有诸多的限制,比如:Google analytics里面最多的记录是5000,而免费的API最多是100W,如果要做细致,个性化的分析,无疑是需要用到API,下面来介绍如何通过R来连接Google Analytics的API来获取数据。

原理:在谷歌API后台创建一个服务器ID,然后给该ID在Google Analytics的账户级别的用户管理里面授予分析的权限,然后在API创建OAuth 2.0型的ID和秘钥,这个就是放在程序里面的。

过程
1、谷歌API管理里创建服务账号密钥,创建的地址:https://console.developers.google.com/apis/api?,进入后先创建一个项目,然后选择凭据》创建凭据,选择服务账号密钥

手把手教你用R连接Google Analytics的API取出数据

创建后会有个服务器ID,如
手把手教你用R连接Google Analytics的API取出数据
2、在Google Analytics 账户级别的给这个服务器ID授权,权限级别是分析的即可,如:
手把手教你用R连接Google Analytics的API取出数据

3、然后返回到谷歌API管理界面,创建 OAuth 2.0授权,一般选择的应用类型是web,如果不知道就选择其他,这个是通用型的:
手把手教你用R连接Google Analytics的API取出数据

4、创建后会看到这个,客户端id就是后面需要用到的了
手把手教你用R连接Google Analytics的API取出数据
5、然后在R上

library(RGoogleAnalytics)
library(httpuv)
require(RGoogleAnalytics)

token <- Auth(client.id=paste("156582067107-2c86adfpnook88a9fnn1knu7egbpjst7st.",
"apps.googleusercontent.com", sep=""), #客户端ID分拆开
client.secret="bKu-j2SYVpbkQYWAydfvuFepKJ") #客户端密码
#save(token,file="./1token_file") #保存密钥信息,下次使用的时候直接能用
ValidateToken(token)

query.list <- Init(start.date = "2017-2-3", # 设置开始日期
                   end.date = "2017-2-13", # 设置结束日期
                   dimensions = "ga:date",
                   metrics ="ga:newUsers,ga:users,ga:pageviews",
                   max.results = 50000,
                   #filters = "ga:pagePath=@/li/ch.php?",
                   #segments="users::condition::ga:dimension1=~[a-zA-z0-9]",
                  #sort = "-ga:totalEvents",
                  table.id = "ga:1115520585") #核心查询函数
ga.query <- QueryBuilder(query.list)
ga.data <- GetReportData(ga.query, token, split_daywise = T)
write.csv(ga.data,file="D:/gadata/test.csv") # 设置导出文件名

 

手把手教你用R连接Google Analytics的API取出数据
如果没有的包,自行下载。包RGoogleAnalytics是已经将分页查询的功能内置,所以通过这个查询出来的数据都是尽可能不抽样。
上述代码中的table.id就是view id。
下面试运行下:
手把手教你用R连接Google Analytics的API取出数据
可以看到数据已经导出来了。
核心函数里面的配置可以看:GA核心API中get函数返回结果解析

 



喜欢 (8)
[hyz1100@126.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(8)个小伙伴在吐槽
  1. 请问对接GA的API后是不是网站后台系统的订单、销售额等数据都可以在GA中匹配到浏览数据了?
    小乔2018-06-05 09:00 回复
    • GA小站
      可以的
      GA小站2018-06-05 21:32 回复
      • 感谢回复。请问:启用GA中的电子商务功能不是就可以跟踪到购买的数据了吗?一定要注册google API进行对接吗?二者有何区别呢?
        小乔2018-06-05 22:23 回复
        • GA小站
          配置好电子商务,可以直接在Ga里面看到购物数据,不需要注册谷歌API
          GA小站2018-06-06 11:39 回复
  2. 请问授权URL如何设置呢?
    Yena2017-12-19 16:11 回复
    • GA小站
      开发者后台,添加进去
      GA小站2017-12-20 10:56 回复
  3. 老师您好,想请问您 我已经是阅读和分析权限了,为何还是会报错? error code为403
    曈老板2017-07-27 13:32 回复
    • GA小站
      错误可能有很多原因的,看返回的报错提示
      GA小站2017-07-27 15:46 回复