统计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实现网站统计

下面是诗情画意的句子欣赏不需要的朋友可以编辑删除 

谢谢    

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.那些繁华哀伤终成过往

华纳云新人下单立减40元/香港云服务器月付60元起,香港双向CN2(GIA)

华纳云(HNCloud Limited)是一家专业的全球数据中心基础服务提供商,总部在香港,隶属于香港联合通讯国际有限公司,拥有香港政府颁发的商业登记证明,保证用户的安全性和合规性。 华纳云是APNIC 和 ARIN 会员单位。主要提供数据中心基础服务、互联网业务解决方案, 以及香港服务器租用、香港服务器托管、香港云服务器、美国云服务器,云计算、云安全技术研发等产品和服务。其中云服务器基于成熟的 ...

无视CC攻击CDN ,DDOS打不死高防CDN,免备案CDN,月付58元起

快快CDN主营业务为海外服务器无须备案,高防CDN,防劫持CDN,香港服务器,美国服务器,加速CDN,是一家综合性的主机服务商。美国高防服务器,1800DDOS防御,单机1800G DDOS防御,大陆直链 cn2线路,线路友好。快快CDN全球安全防护平台是一款集 DDOS 清洗、CC 指纹识别、WAF 防护为一体的外加全球加速的超强安全加速网络,为您的各类型业务保驾护航加速前进!价格都非常给力,需...

湖北22元/月(昔日数据)云服务器,国内湖北十堰云服务器,首月6折

昔日数据怎么样?昔日数据新上了湖北十堰云服务器,湖北十堰市IDC数据中心 母鸡采用e5 2651v2 SSD MLC企业硬盘 rdid5阵列为数据护航 100G高防 超出防御峰值空路由2小时 不限制流量。目前,国内湖北十堰云服务器,首月6折火热销售限量30台价格低至22元/月。(注意:之前有个xrhost.cn也叫昔日数据,已经打不开了,一看网站LOGO和名称为同一家,有一定风险,所以尽量不要选择...

google统计为你推荐
accessroute支持ipad支持ipad图书馆学、情报学期刊投稿指南重庆宽带测速重庆市电信网速测试是哪个网站或ipiphone连不上wifi苹果手机无法连接wifi是什么原因iphone连不上wifi为什么苹果手机连不上wifi微信都发不出去?重庆电信网速测试电信100M下载速度多少M,为什么我家里电信100M下载速度最快5M美妙,是不是严重缩水win7勒索病毒补丁我的电脑是windows7系统,为什么打不了针对勒索病毒的补丁(杀毒软件显micromediamacromedia的中文名
高防直连vps 中文域名申请 免费动态域名 westhost 博客主机 56折 网站实时监控 全能主机 网站挂马检测工具 架设服务器 admit的用法 网络空间租赁 免费申请网站 drupal安装 双线asp空间 789 下载速度测试 美国盐湖城 photobucket 国外代理服务器 更多