采用Java调用Google Analytics API实现网站统计

google统计  时间:2021-04-24  阅读:()

Java调用Google Analytics API实现网站统计

Java调用Google Analytics API实现网站统计简介

Google Analytics是著名互联网公司Google为网站提供的数据统计服务。可以对目标网站进行访问数据统计和分析并提供多种参数供网站拥有者使用。Google Analytics功能非常强大只要在网站的页面上加入一段代码就可以提供的丰富详尽的图表式报告。

注册

要使用Google Analytics先需要有一个google帐号然后到下面链接登录http://www.google.com/analytics

登录成功后会看到这个Summary的统计页面。如果是首次登陆不会有统计网站需要增加监控网站。

Java调用Google Analytics API实现网站统计

配置跟踪站点

基本信息填写完成后将进入如下页面

Java调用Google Analytics API实现网站统计

Google Analytics会生成一段验证的Javascript需要把这段Javascript拷贝到你需要跟踪页面的</body>标记之前一般都是放在index页面上。

查看监测结果

以上步骤介绍如何调用Google Analytics但是如何才能获取网站分析工具的数据并且和其他系统的数据进行自定义度量的计算呢答案是使用GA提供的API接口。在自定义报表中你能想到的几乎所有维度和指标都可以通过API接口轻松获取只需要修改下面代码指定的参数再设计你希望的数据返回格式就可以轻松把GA的数据抽取到你的数据仓库中然后尽情的享用

代码分析与实现import com.google.gdata.cl ient.analytics.AnalyticsService;import com.google.gdata.cl ient.analytics.DataQuery;import com.google.gdata.data.analytics.AccountEntry;import com.google.gdata.data.analytics.AccountFeed;import com.google.gdata.data.analytics.DataEntry;import com.google.gdata.data.analytics.DataFeed;

Java调用Google Analytics API实现网站统计

import com.google.gdata.uti l .AuthenticationException;import com.google.gdata.uti l .ServiceException;import java. io. IOException;importjava.net.MalformedURLException;import java.net.URL;publ ic classGoogleAnalytics {

//使用Cl ientLogin方法访问Google Analytics。其中两个常量分别存储用户名和密码。private staticfinal String CLIENT_USERNAME="test@163.com";//Google帐号private static final String CLIENT_PASS="123456"; //Google密码private static final String TABLE_ID="ga:715123";//此帐号有权访问的Google Analytics配置文件的TABLEIDpubl ic void myTest() {try{

/*

*系统创建服务对象。服务对象的参数是一个代表应用程序名称的字符串。随后系统将采用setUserCredentials方法来处理

*Google Analytics 分析授权。

*/

//Service ObjecttoworkwiththeGoogleAnalyticsData ExportAPI .

AnalyticsService analyticsService=new

AnalyticsService("gaExportAPI_acctSample_v2.0");

//Cl ient Login Authorization.analyticsService.setUserCredentials(CLIENT_USERNAME,CLIENT_PASS);

//Get data fromtheAccount Feed.getAccountFeed(analyticsService); //获取帐号信息

//Accessthe Data Feed if theTable Id has been set.if(!TABLE_ID. isEmpty()) {

//Get profi ledata fromthe Data Feed.getDataFeed(analyticsService); //获取数据信息包括"指标"和"维度"

}

}catch(AuthenticationException e) {

System.err.println("Authentication fai led: "+e.getMessage());return;

}catch(IOException e) {

System.err.println("Network errortrying to retrieve feed: "

+e.getMessage());return;

Java调用Google Analytics API实现网站统计

}catch(ServiceException e) {

System.err.println("AnalyticsAPI responded with an error message: "

+e.getMessage());return;

}

}

**

*获取帐号fe e d

*@param analyticsService

*@throws IOException

*@throws MalformedURLException

*@throws ServiceException

*/private static void getAccountFeed(AnalyticsService analyticsService)throws IOException,MalformedURLException,ServiceException{

//Construct query from a string.

URLqueryUrl=new

URL("https://www.google.com/analytics/feeds/accounts/default?max-results=50");

//Make requesttotheAPI .

AccountFeed accountFeed=analyticsService.getFeed(queryUrl,AccountFeed.class);

//Outputthedatatothescreen.

System.out.println("--------Account Feed Results--------");for (AccountEntry entry:accountFeed.getEntries()) {

System.out.println("\nAccount Name ="

+entry.getProperty("ga:accountName")

+"\nProfi le Name ="+entry.getTitle().getPlainText() //配置文件名称

+"\nProfi le Id ="+entry.getProperty("ga:profi leId") //配置文件编号

+"\nTable Id ="+entry.getTableId().getValue()); //配置文件的TableId

}

}

**

*获取指标和维度信息

*@param analyticsService

*@throws IOException

*@throws MalformedURLException

*@throws ServiceException

Java调用Google Analytics API实现网站统计

*/private static void getDataFeed(AnalyticsService analyticsService)throws IOException,MalformedURLException,ServiceException{

//Create a query usingthe DataQueryObject.

DataQuery query=new DataQuery(new

URL("https://www.google.com/analytics/feeds/data"));query.setStartDate("2011-10-01"); //要统计的数据的起始时间query.setEndDate("2011-10-30"); //要统计的数据的结束时间query.setDimensions("ga:pageTitle,ga:pagePath"); //要统计的维度信息query.setMetrics("ga:pageviews,ga:bounces,ga:visits,ga:visitors"); //要统计的指标信息query.setSort("-ga:pageviews");query.setMaxResults(10);query.setIds(TABLE_ID);

//Makea requesttotheAPI .

DataFeed dataFeed=analyticsService.getFeed(query.getUrl(),

DataFeed.class);

//Outputdatatothescreen.

System.out.println("-----------Data Feed Results----------");for (DataEntry entry:dataFeed.getEntries()) {

System.out.println("\nPage Title="

+entry.stringValueOf("ga:pageTitle")+"\nPage Path ="

+entry.stringValueOf("ga:pagePath")+"\nPageviews浏览量 ="

+entry.stringValueOf("ga:pageviews")+"\nga:bounces="

+entry.stringValueOf("ga:bounces")+"\nga:visits访问次数="

+entry.stringValueOf("ga:visits")+"\nga:visitors访问人数="

+entry.stringValueOf("ga:visitors"));

}

}

}

注意

1、使用任意方式main()或servlet调用这个class的myT est()方法即可。

2、使用过程需要修改的参数

(1)CLI ENT_US ERNAM E GA的Google账号

(2)CLI ENT_PAS S Google账号的登录密码

Java调用Google Analytics API实现网站统计

(3)TABLE_ID Google账号有权限访问的配置文件ID

3、 自定义报表的维度和指标

(1)setStartDate为开始时间 setEndDate为结束时间

(2)setDimens ions是要统计的维度信息

(3)setMetrics是要统计的指标信息

4、 Java开发过程需要的jar包下载地址http://code.google.c om/p/gdat a-jav a-client/downl oads/list本文原创 y hcz 由于总结时间仓促如有不足之处敬请谅解

Java调用Google Analytics API实现网站统计

原文已完。下文为附加文档如不需要下载后可以编辑删除谢谢

施工组织设计

本施工组织设计是本着“一流的质量、一流的工期、科学管理”来进行编制的。编制时我公司技术发展部、质检科以及项目部经过精心研究、合理组织、充分利用先进工艺特制定本施工组织设计。

一、 工程概况

西夏建材城生活区27#、 30#住宅楼位于银川市新市区橡胶厂对面。

本工程由宁夏燕宝房地产开发有限公司开发银川市规划建筑设计院设计。

本工程耐火等级二级屋面防水等级三级地震防烈度为8度设计使用年限50年。

本工程建筑面积:27#楼3824.75m2;30#楼3824.75 m2。室内地坪±0.00以绝对标高1110.5 m为准总长27#楼47.28m 30#楼

47.28 m。总宽27#楼14.26m 30#楼14.26 m。设计室外地坪至檐口高度18.600m呈长方形布置东西向三个单元。

本工程设计屋面为坡屋面防水采用防水涂料。外墙水泥砂浆抹面外刷浅灰色墙漆。 内墙面除卫生间200×300瓷砖高到顶外其余均水泥砂桨罩面刮二遍腻子楼梯间内墙采用50

1

Java调用Google Analytics API实现网站统计

厚胶粉聚苯颗粒保温。地面除卫生间200×200防滑地砖楼梯间50厚细石砼1  1水泥砂浆压光外其余均采用50厚豆石砼毛地面。楼梯间单元门采用楼宇对讲门卧室门、卫生间门采用木门进户门采用保温防盗门。本工程窗均采用塑钢单框双玻窗开启窗均加纱扇。本工程设计为节能型住宅外墙均贴保温板。

本工程设计为砖混结构共六层。基础采用C30钢筋砼条形基础上砌MU30毛石基础砂浆采用M10水泥砂浆。一、二、

三、 四层墙体采用M10混合砂浆砌筑MU15多孔砖五层以上采用M7.5混合砂浆砌筑MU15多孔砖。

本工程结构中使用主要材料钢材 I级钢 II级钢砼基础垫层C10基础底板、地圈梁、基础构造柱均采用C30其余均C20。

本工程设计给水管采用PPR塑料管热熔连接排水管采用UPVC硬聚氯乙烯管粘接给水管道安装除立管及安装IC卡水表的管段明设计外其余均暗设。

本工程设计采暖为钢制高频焊翅片管散热器。

本工程设计照明电源采用BV2.5铜芯线插座电源等采用BV4铜芯线 除客厅为吸顶灯外其余均采用座灯。

二、 施工部署及进度计划

1、工期安排

本工程合同计划开工日期 2004年8月21 日竣工日期2005年7月10日合同工期315天。计划2004年9月15日前

2

易探云:买香港/美国/国内云服务器送QQ音乐绿钻豪华版1年,价值180元

易探云产品限时秒杀&QQ音乐典藏活动正在进行中!购买易探云香港/美国云服务器送QQ音乐绿钻豪华版1年,价值180元,性价比超级高。目前,有四大核心福利产品推荐:福利一、香港云服务器1核1G2M,仅218元/年起(香港CN2线路,全球50ms以内);福利二、美国20G高防云服务器1核1G5M,仅336元/年起(美国BGP线路,自带20G防御);福利三、2G虚拟主机低至58.8元/年(更有免费...

ThomasHost(月付5美元)美国/法国/英国/加拿大KVM,支持Windows

ThomasHost域名注册自2012年,部落最早分享始于2016年,还算成立了有几年了,商家提供基于KVM架构的VPS,数据中心包括美国、法国、英国、加拿大和爱尔兰等6个地区机房,VPS主机套餐最低2GB内存起步,支持Windows或者Linux操作系统,1Gbps端口不限制流量。最近商家提供了一个5折优惠码,优惠后最低套餐月付5美元起。下面列出部分套餐配置信息。CPU:1core内存:2GB硬...

瓜云互联:全场9折优惠,香港CN2、洛杉矶GIA高防vps套餐,充值最高返300元

瓜云互联怎么样?瓜云互联之前商家使用的面板为WHMCS,目前商家已经正式更换到了魔方云的面板,瓜云互联商家主要提供中国香港和美国洛杉矶机房的套餐,香港采用CN2线路直连大陆,洛杉矶为高防vps套餐,三网回程CN2 GIA,提供超高的DDOS防御,瓜云互联商家承诺打死退款,目前商家提供了一个全场9折和充值的促销,有需要的朋友可以看看。点击进入:瓜云互联官方网站瓜云互联促销优惠:9折优惠码:联系在线客...

google统计为你推荐
大学生就业信息获取与信息分析支持ipad支持ipadcss3圆角在HTML里如何实现圆角矩形?127.0.0.1DNS老是被修改为127.0.0.1,这是为什么?重庆电信网速测试如何测量网速win7关闭135端口win7下怎么关135和8909端口fastreport2.5护套线BV2.5中的2.5是指什么尺寸,单位是什么,BV又是什么意思?chrome18请问chrome18怎么关闭硬件加速?chrome17谷歌浏览器和谷歌浏览器稳定版有什么区别
域名申请 域名信息查询 com域名注册1元 樊云 cloudstack ixwebhosting 天猫双十一抢红包 云主机51web 免费博客空间 美国十次啦服务器 网站木马检测工具 什么是服务器托管 稳定免费空间 1美金 华为云建站 华为k3 中国联通宽带测速 1美元 数据湾 japanese50m咸熟 更多