谷歌分析实战指南-F

⌘K
  1. 主页
  2. 文档
  3. 谷歌分析实战指南-F...
  4. 第2章 Google Analytics高级应用...
  5. 2.22、API的使用

2.22、API的使用

GA非常强大,但是免费版的有诸多的限制,如:GA里面最多能导出的记录是5000,如果要做细致,个性化的分析,无疑是需要用到API,免费版GA通过API最多可以拿100万条记录,付费版本GA360通过API最高是300W,但付费版本可以跟BigQuery关联起来,将GA账户里的数据导入进去,所以是可以获取到所有的原始记录的。

Google官方提供了多种API接口给用户,下图是整体数据逻辑结构如图2-88所示:

2.22、API的使用
图2-88 GA整体数据逻辑结构

左侧是收集数据模块,收集用户互动的相关数据,可以看到经典版的ga.js只直接记录为Logs的行为,而统一版analytics.js则采用跟移动应用一致的方式,通过测量协议去手机数据。

中间上方是配置,可以管理数据的处理方式。

中间下方是数据处理,这个是Google分析的后台数据处理的,黑匣子来的。

右侧就提供的报告或接口,是处理后的数据。

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

下面来介绍如何通过R和Python来连接GA的API来获取数据,首先介绍R的。

1.R

用R来获取GA的数据需要用RGoogle Anlytics,自行下载这个包,用这个包的好处是,该作者已经将分页查询的功能内置进去了,所以能够获得准确的数据。具体设置过程如:

1、GoogleAPI管理里创建服务账号密钥,

访问谷歌开发者后台,进入后先创建一个项目,然后选择“凭据”→“创建凭据”→“服务账号密钥”,如图2-89所示:

2.22、API的使用
图2-89 创建服务账号密钥

创建后会有个服务器账号ID,如图2-90所示:

2.22、API的使用
图2-90 服务器账号ID

2、在GA 账户级别的给这个服务器账号ID授权,权限级别是“阅读和分析”的即可,如图2-91所示:

2.22、API的使用
图2-91 给服务器账号ID授权

3、然后返回到Google APIs管理界面,创建 OAuth 2.0授权,如图2-92所示,一般选择的应用类型是Web,如果不知道就选择其他,这个是通用型的:

2.22、API的使用
图2-92 创建OAuthor客户授权

4、创建后会看到图2-93所示,客户端ID就是后面需要用到的了。

2.22、API的使用
图2-93 生成秘钥

5、然后在R上,将客户端ID和密钥填入对应的位置,如图2-94所示详细的代码去GA小站官网获取。

2.22、API的使用
图2-94 R程序提取GA获取

如果没有的包,自行下载。包RGoogleAnalytics是已经将分页查询的功能内置,所以通过这个查询出来的数据都是尽可能不抽样。上述代码中的table.id就是数据视图ID,下面试运行下如图2-95所示:

2.22、API的使用
图2-95 R程序运行

可以看到数据已经导出来了。

2.Python

这一节介绍如何用Python连接Google Anlaytics API去获取数据,前面大部分跟R的相同,不同的地方在于Python是引入json的密钥文件,而不是直接用服务端ID和密钥。

1、假设您已经创建好了OAuth2.0客户端ID,然后将其以json格式下载,如图2-96所示:

2.22、API的使用
图2-96 导出秘钥

可以看到有个json文件,如图2-97所示:

2.22、API的使用
图2-97 json文件格式的秘钥

2、然后将谷歌分析官方将那段实例代码复制带本地保存,并将前面下载的json秘钥与那段代码挡在同一个路径中,然后代码找到key_file_location,将其改为json文件的名称,如图2-98所示:

2.22、API的使用
图2-98 配置秘钥

然后试运行下看有没报错,如果没报错,会返回一些数据,那就表示成功了。

3、接下来新建另一个py文件,引入上面的示例代码,代码中的第一段就是引入该示例代码,然后初始化,这里的profile_id就是GA的数据视图ID,如图2-99所示:

2.22、API的使用
图2-99 新建代码示例

然后运行下,如图2-100,这段代码的的意思是获取2016年7月1号开始到2016年8月10号用桌面端访问过/my/p_login.php,每天的用户数是多少,并且按日期排序:

2.22、API的使用
图2-100 运行结果示例

数据就提取出来了。可以看到,在通过API获取的数据的过程中最关键的还是ga().get的函数配置,而配置的模式跟前面Google Sheet类似的,特别是过滤器的使用是一致。API返回的数据都是字典结构,ga().get()返回有以下数据:

2.22、API的使用

3.API V4

在2017年7月的时候,GA发布了新一版的API,Version4的,授权的方式上没有改变,但是界面的UI有了变化,更重要的是查询的核心函数变成了batchGet。

下面看看设置授权的流程:

1、进入谷歌云平台控制后台创建一个项目。

2、然后单击“IAM和管理”→“账号服务”,创建一个服务账号,账号的格式会是*****@developer.gserviceaccount.com的格式,然后在GA中给这个授予“读取和分析”的权限。

3、创建和下载密钥

单击服务账号右侧的那个三个点后选择“创建密钥”,如图2-101所示:

2.22、API的使用
图2-101 创建秘钥

然后选择p12的格式下载。

4、将官方的案例代码复制到您的编辑器去,然后更改密钥路径已经设置相关的视图ID后试运行,如图2-102所示:

2.22、API的使用
图2-102 试运行结果

运行没有报错,获得返回的数据,API获得授权取得数据。仔细看上图的代码,这里获取数据使用的核心函数是batchGet,前面v3版本的使用的是ga().get()函数。


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~

我们要如何帮助您?

发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 站长,我发超文本传输协议的英文缩写提示违规什么鬼
    茹莱本座2024-03-22 21:39 回复 Linux | Chrome 81.0.4044.117
  2. 可不可以使用其他语言有超文本传输协议接口吗
    茹莱本座2024-03-22 21:38 回复 Linux | Chrome 81.0.4044.117
  3. 怎么提示我评论违规
    茹莱本座2024-03-22 21:37 回复 Linux | Chrome 81.0.4044.117
  4. 支持大大, :wink: :wink: 请问知道如何通过API拉取非抽样报告吗?卡在了drive-api的步骤
    米娅蕊2019-11-05 10:15 回复 Windows 10 | Chrome 78.0.3904.87
    • 非抽样的只是针对Google Analytics360用户,普通用户是否抽样取决于拉的数据,具体的看返回的字段判断
      GA小站2019-11-05 10:51 回复 Mac OS X | Chrome 78.0.3904.70