• 加入Google Analytics、Google Tag Manager QQ群一起交流谷歌分析小站—总群
  • 加入Adobe Analytics、Adobe Launch交流群,加入请附上Adobe的组织ID,没有请勿加Adobe Analytics交流群
  • Google Analytics和Google Tag Manager视频课程第三版http://ke.ichdata.com/course/50

Python连接Google Analytics API获取数据

GA API使用 GA小站 3年前 (2017-05-19) 9914次浏览 已收录 15个评论

关于API原理的部分可以看手把手教你用R连接Google Analytics的API取出数据
这一节介绍如何用Python连接Google anlaytics API去获取数据,前面大部分跟R的相同,不同的地方在于Python是引入json的密钥文件,而不是直接用服务端id和密钥。

1、假设你已经创建好了OAuth2.0客户端ID,然后将其以json格式下载:
Python连接Google Analytics API获取数据

可以看到有个json文件
Python连接Google Analytics API获取数据

 

2、然后将https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/service-py中的那段实例代码复制带本地保存,并将前面下载的json与那段代码挡在同一个路径中,然后找到key_file_location,将其改为json文件的名称
Python连接Google Analytics API获取数据

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

3、接下来新建另一个py文件,引入上面的示例代码,代码中的第一段就是引入该示例代码,然后初始化,这里的profile_id就是GA离的view ID
Python连接Google Analytics API获取数据

然后运行下,这段代码的的意思是获取该页面每天的访问用户数
Python连接Google Analytics API获取数据

数据就提取出来了。

可以看到,在通过api获取的数据的过程中最关键的还是ga().get的函数配置,详细的可以看:https://developers.google.com/analytics/devguides/reporting/core/v3/reference

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

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(15)个小伙伴在吐槽
  1. 我用的是本地的测试,提示 'Expected', client.SERVICE_ACCOUNT)ValueError: ('Unexpected credentials type', None, 'Expected', 'service_account'),这是什么原因?请教,非常感谢
    chc1532019-06-09 17:08 回复 Windows 7 | Firefox浏览器 63.0
    • GA小站
      秘钥或密码格式不对
      GA小站2019-06-09 21:16 回复 Mac OS X | Chrome 74.0.3729.169
  2. TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 有梯子的情况下,还报这个错误,是什么原因呢?
    terry2019-03-31 01:23 回复 Windows 7 | Chrome 72.0.3626.81
  3. 2、然后将https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/service-py中的那段实例代码复制带本地保存,并将前面下载的json与那段代码挡在同一个路径中,然后找到key_file_location,将其改为json文件的名称----------这步操作里面,到底用的是哪个json文件呢?
    terry2019-03-09 20:15 回复 Windows 7 | Chrome 72.0.3626.81
    • GA小站
      谷歌开发者后台生成的秘钥
      GA小站2019-03-14 22:22 回复 Mac OS X | Chrome 72.0.3626.121
  4. 大佬,请问:我用官方的示例代码为什么会报httplib.ResponseNotReady()的错误?
    allon2018-07-23 09:17 回复 Windows 7 | Chrome 67.0.3396.62
  5. 还有人吗,求教呀,连接不上,方便可以加个qq不
    酒窖2018-06-15 10:05 回复 Windows 10 | Chrome 64.0.3282.186
    • GA小站
      用官方的demo是绝对没问题的,你检查一下你的环境配置设置
      GA小站2018-06-16 22:16 回复 Mac OS X | Chrome 67.0.3396.87
  6. [('asn1 encoding routines', 'ASN1_CHECK_TLEN', 'wrong tag'), ('asn1 encoding routines', 'ASN1_ITEM_EX_D2I','nested asn1 error')]——————————按该教程,创建了服务id、oauthid后,已下载了js文件、并在helloanalytics.py设置好路径了,但是报了上述的错误。(py3,win64;官方教程提到的包已安装)期望您的帮忙,谢谢
    leegofun2018-05-11 14:35 回复 Windows 10 | Chrome 65.0.3325.181
    • GA小站
      使用的时候应该会自动打开一个授权页面,需要你手动授权后,后面的程序才能运行
      GA小站2018-05-15 14:57 回复 Mac OS X | Chrome 66.0.3359.139
  7. 提示ModuleNotFoundError: No module named 'apiclient.discovery'后来把from apiclient.discovery import build换成from googleapiclient.discovery import build可以跳转网页提示“The authentication flow has completed.”但是还报错 File "D:\Program Files\python3\lib\socket.py", line 713, in create_connection sock.connect(sa)TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。这是什么原因。
    nn912017-11-24 11:05 回复 Windows 7 | Chrome 55.0.2883.87
    • GA小站
      Python的错误,谷歌一下
      GA小站2017-11-24 17:02 回复 Windows 10 | Chrome 61.0.3163.100
      • 大神,谷歌不出来是不是国内对GA封杀的原因,python必须要加代理,可是怎么加?
        nn912017-11-24 17:06 回复 Windows 7 | Chrome 55.0.2883.87
        • GA小站
          去找梯子(V*P*N)
          GA小站2017-11-27 08:42 回复 Windows 10 | Chrome 61.0.3163.100
    • 老铁,解决了吗
      哈哈哈哈2019-08-28 12:23 回复 Windows 10 | Chrome 76.0.3809.100