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实现网站统计
下面是诗情画意的句子欣赏不需要的朋友可以编辑删除
谢谢
1.染火枫林琼壶歌月长歌倚楼。岁岁年年花前月下一尊芳酒。水落红莲唯闻玉磬但此情依旧。
2.玉竹曾记凤凰游人不见水空流。
3.他微笑着在岁月的流失中毁掉自己。
4.还能不动声色饮茶踏碎这一场盛世烟花。
5.红尘嚣浮华一世转瞬空。
6.我不是我你转身一走苏州里的不是我。
7.几段唏嘘几世悲欢可笑我命由我不由天。
8.经流年梦回曲水边看烟花绽出月圆。
9.人生在世恍若白驹过膝忽然而已。然我长活一世却能记住你说的每一话。
10.雾散梦醒我终于看见真实那是千帆过尽的沉寂。
11.纸张有些破旧有些模糊。可每一笔勾勒每一抹痕迹似乎都记载着跨越千年万载的思念。
12.生生的两端我们彼此站成了岸。
13.缘聚缘散缘如水背负万丈尘寰只为一句等待下一次相逢。
14.握住苍老禁锢了时空一下子到了地老天荒
15.人永远看不破的镜花水月不过我指间烟云世间千年,如我一瞬。
16.相逢一醉是前缘风雨散飘然何处。
17.虚幻大千两茫茫一邂逅终难忘。相逢主人留一笑不相识又何妨。
18.天下风云出我辈,一入江湖岁月催;皇图霸业谈笑间,不胜人生一场醉。
19.得即高歌失即休多愁多恨亦悠悠今朝有酒今朝醉 明日愁来明日愁。
20.直道相思了无益未妨惆怅是清狂。
21.看那天地日月恒静无言;青山长河世代绵延;就像在我心中你从未离去也从未改变。
Java调用Google Analytics API实现网站统计
22.就这样吧从此山水不相逢。
23.人天自两空何相忘何笑何惊人。
24.既不回头,何必不忘。 既然无缘,何须誓言。 今日种种,似水无痕。 明夕何夕,君已陌路。
25.有缘相遇,无缘相聚,天涯海角,但愿相忆。有幸相知,无幸相守,苍海明月,天长地久。
26.相见得恨晚相爱的太慢进退让我两难。缘过了远分缘过了聚散是否回头就能够上岸
27.天凉了,凉尽了天荒地老了,人间的沧桑爱哭了,这么难舍心都空了,想放不能放。天亮了,照亮了泪光泪干了,枕边地彷徨
28.心微动奈何情己远.物也非,人也非,事事非,往日不可追
29.渺渺时空,茫茫人海,与君相遇,莫失莫忘。
30.如果换我先开口 日子是否还一样细水长流
31.也许是前世的姻也许是来生的缘错在今生相见徒增一段无果的恩怨
32.人道海水深不抵相思半。海水尚有涯相思渺无畔。
33.醉眼看别人成双作对
34.无人处暗弹相思泪。
35.终于为那一身江南烟雨覆了天下容华谢后不过一场 山河永寂。
36.千秋功名一世葬你玲珑社稷可笑却无君王命。
37.凤凰台上凤凰游负约而去一夜苦等从此江南江北万里哀哭。
38.嗟叹红颜泪、英雄殁人世苦多。 山河永寂、怎堪欢颜。
39.风华是一指流砂苍老是一段年华。
40.夜雨染成天水碧。有些人不需要姿态也能成就一场惊鸿。
41.你要记得紫檀未灭我亦未去。
42.谁在岁月里长长叹息。
43.汉霄苍茫牵住繁华哀伤弯眉间命中注定成为过往。
44.红尘初妆 山河无疆。 最初的面庞碾碎梦魇无常命格无双。
45.江南风骨天水成碧天教心愿与身违。
46. 山河拱手为君一笑。
47.如是颠簸生世亦无悔。
48.荏苒岁月覆盖的过往 白驹过隙匆匆的铸成一抹哀伤。
49.那被岁月覆盖的花开一切白驹过隙成为空白。
50.褪尽风华我依然在彼岸守护你。
51.那些繁华哀伤终成过往
昨天有分享到"2021年Vultr新用户福利注册账户赠送50美元"文章,居然还有网友曾经没有注册过他家的账户,薅过他们家的羊毛。通过一阵折腾居然能注册到账户,但是对于如何开通云服务器稍微有点不对劲,对于新人来说确实有点疑惑。因为Vultr采用的是预付费充值方式,会在每月的一号扣费,当然我们账户需要存留余额或者我们采用自动扣费支付模式。把笔记中以前的文章推送给网友查看,他居然告诉我界面不同,看的不对...
? ? ? ?创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川联通大带宽,四川联通高防IP,一手整CIP段,四川电信,联通高防机柜,CN2专线相关业务。成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快...
易速互联怎么样?易速互联是国人老牌主机商家,至今已经成立9年,商家销售虚拟主机、VPS及独立服务器,目前商家针对美国加州萨克拉门托RH数据中心进行促销,线路采用BGP直连线路,自带10G防御,美国加州地区,100M带宽不限流量,月付299元起,有需要美国不限流量独立服务器的朋友可以看看。点击进入:易速互联官方网站美国独立服务器优惠套餐:RH数据中心位于美国加州、配置丰富性价比高、10G DDOS免...