Google Analytics API实例

2024-06-09 17:18
文章标签 实例 api google analytics

本文主要是介绍Google Analytics API实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用Python简单实现Google Analytics API

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

  2. 访问左侧边栏“APIs & auth” >> "APIs"。在右侧界面中找到“Analytics API”,使其status为ON。

  3. 访问左侧边栏“APIs & auth” >> "Consent screen"。在右侧界面中设置“EMAIL ADDRESS”和“PRODUCT NAME”。(避免出现“Error: invalid_client no application name”的错误,最后通过StactOverflow的帖子搞定)

  4. 访问左侧边栏“APIs & auth” >> "Credentials"。点击右侧“Create new Client ID”,并做如下设置:
    Create new Client ID

  5. 之后就可以得到“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_idclient_secretredirect_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

这篇关于Google Analytics API实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045805

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi