当梦想照进现实

用Python简单实现Google Analytics API

2014.09.17

Google Analytics API
SEO需要经常看网站各种数据,如Visits,Keywords,landing page等,但总要登录Google Analytics(之后简称GA)查看,而且无法与其他系统数据结合。这时,就需要GA API了。GA API自动获取各种数据,不仅可以推送自定义数据,还能与其他的数据相结合。
为了更快获取周报数据,之前用Django做了自动化系统,采集了爱站和百度搜索结果页的数据,这次就加入了GA的各项数据。

1. 系统环境

系统:Ubuntu 13.10
语言:Python 2.7
操作软件:对VPS操作,并非桌面版

2. Google Developers Project创建

要创建Google Developers Project,使用project的API。

  1. 访问Google Developers Project,点击上面的“Create Project”按钮,输入PROJECT NAME并创建,如下图:

Create Project

  1. 访问左侧边栏“APIs & auth” >> "APIs"。在右侧界面中找到“Analytics API”,使其status为ON。
  2. 访问左侧边栏“APIs & auth” >> "Consent screen"。在右侧界面中设置“EMAIL ADDRESS”和“PRODUCT NAME”。(避免出现“Error: invalid_client no application name”的错误,最后通过StactOverflow的帖子搞定)
  3. 访问左侧边栏“APIs & auth” >> "Credentials"。点击右侧“Create new Client ID”,并做如下设置:

Create new Client ID

  1. 之后就可以得到“CLIENT ID”,“CLIENT SECRET”,以及“REDIRECT URIS”。这些是认证信息,之后会用来做认证账户使用。

3. 环境配置

运行GA API需要安装Google APIs Client Library for Python库,我直接使用了pip方式安装:

$ pip install --upgrade google-api-python-client

当然也可使用easy_install

$ easy_install --upgrade google-api-python-client

注:我在初次运行时遇到了gflags library缺失的报错,最后通过pip --upgrade python-gflags的方式解决。

4. API文件下载

访问google-api-python-client的Source页面,下载client_secrets.jsonhello_analytics_api_v3.py两个文档。这两个文件的作用是这样的:

  • client_secrets.json存储验证证书。你需要替换掉其中client_id, client_secret, redirect_uris这3个字段;
  • hello_analytics_api_v3.py是简单示例文件。可运行获得2012-01-01至2012-01-15的前25个搜索关键词。这个示例文件调用了GA中Management APICore Reporting API这2个API。

你可以修改hello_analytics_api_v3.py来自定义数据:

  • 要修改其中get_top_keywords函数来设置GA的时间范围,数据纬度,细分,搜索,过滤等功能;
  • 关于数据纬度,常用的有ga:bounces、ga:pagePath、ga:visits等,更多可参见官方文档Dimensions & Metrics Reference

5. 浏览器端验证

可能是因为我设置了Google账户二次验证,当运行hello_analytics_api_v3.py时VPS端弹出了浏览器端验证。
由于是Debian的文字浏览器,摸索了一段时间才会使用。最后因为浏览器无法运行JavaScript中断好久,直到看到服务器端提示,在运行命令后加了参数--noauth_local_webserver。之后把地址复制下来在本地电脑上打开,才最终验证成功。
需要注意的是,只要验证成功,VPS上就会有验证文件,之后可以直接获取数据。
最后获取成功的图片:
数据获取成功

备注

  1. 为了快速实现功能,本文采取了讨巧的方式,直接使用了GA API的示例文件,如有精力,建议阅读下官方指南;
  2. 虽说已经通过GA API调用了数据,但仍是入门级文章,如需深入,建议阅读GA API官方文档,并不断练习。

参考文档

  • 【英文资料】极其建议读一下Tutorial: Hello Analytics API官方文档:https://developers.google.com/analytics/solutions/articles/hello-analytics-api?hl=zh-CN
  • 【英文资料】Google APIs Client Library for Python安装文档:https://developers.google.com/api-client-library/python/start/installation
  • 【中文资料】小黑的《Python and Google Analytics API》:http://itseo.net/direction/show-139.html
  • 【中文资料】STEPHEN的《如何通过google analytics api获取数据零基础 python版》:http://www.stephensem.com/archives/318
Comments
Write a Comment