首先,申请Google帐号和Google Analytics服务,并将统计代码放入你想统计的网站中一段时间,确保你的Google Analytics中已有数据。
在Google Analytics中,进入你的配置文件修改界面,如图,记下红色标记的数字,这是你的“Table ID”。
下面代码是我根据Google官方文档修改并注释的一段代码,就可以实现访问量等信息的统计了。
package cn.edu.KFC.bean;
import com.google.gdata.client.analytics.AnalyticsService;
import com.google.gdata.client.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;
import com.google.gdata.util.AuthenticationException;
import com.google.gdata.util.ServiceException;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
public class GoogleAnalytics {
// 使用ClientLogin 方法访问Google Analytics。其中,两个常量分别存储用户名和密码。
private static final String CLIENT_USERNAME = "anyone@gmail.com"; //Google 帐号
private static final String CLIENT_PASS = "1234567"; //Google 密码
private static final String TABLE_ID = "ga:715123"; //此帐号有权访问的Google Analytics配置文件的TABLE ID
public void myTest() {
try {
/*
* 系统创建服务对象。服务对象的参数是一个代表应用程序名称的字符串。随后,系统将采用 setUserCredentials 方法来处理
* Google Analytics(分析)授权。
*/
// Service Object to work with the Google Analytics Data Export API.
AnalyticsService analyticsService = new AnalyticsService("gaExportAPI_acctSample_v2.0");
// Client Login Authorization.
analyticsService.setUserCredentials(CLIENT_USERNAME, CLIENT_PASS);
// Get data from the Account Feed.
getAccountFeed(analyticsService); //获取帐号信息
// Access the Data Feed if the Table Id has been set.
if (!TABLE_ID.isEmpty()) {
// Get profile data from the Data Feed.
getDataFeed(analyticsService); //获取数据信息(包括"指标"和"维度")
}
} catch (AuthenticationException e) {
System.err.println("Authentication failed : " + e.getMessage());
return;
} catch (IOException e) {
System.err.println("Network error trying to retrieve feed: "
+ e.getMessage());
return;
} catch (ServiceException e) {
System.err.println("Analytics API responded with an error message: "
+ e.getMessage());
return;
}
}
/**
* 获取帐号feed
* @param analyticsService
* @throws IOException
* @throws MalformedURLException
* @throws ServiceException
*/
private static void getAccountFeed(AnalyticsService analyticsService)
throws IOException, MalformedURLException, ServiceException {
// Construct query from a string.
URL queryUrl = new URL("https://www.google.com/analytics/feeds/accounts/default?max-results=50");
// Make request to the API.
AccountFeed accountFeed = analyticsService.getFeed(queryUrl, AccountFeed.class);
// Output the data to the screen.
System.out.println("-------- Account Feed Results --------");
for (AccountEntry entry : accountFeed.getEntries()) {
System.out.println("\nAccount Name = "
+ entry.getProperty("ga:accountName")
+ "\nProfile Name = " + entry.getTitle().getPlainText() //配置文件名称
+ "\nProfile Id = " + entry.getProperty("ga:profileId") //配置文件编号
+ "\nTable Id = " + entry.getTableId().getValue()); //配置文件的Table Id
}
}
/**
* 获取指标和维度信息
* @param analyticsService
* @throws IOException
* @throws MalformedURLException
* @throws ServiceException
*/
private static void getDataFeed(AnalyticsService analyticsService)
throws IOException, MalformedURLException, ServiceException {
// Create a query using the DataQuery Object.
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);
// Make a request to the API.
DataFeed dataFeed = analyticsService.getFeed(query.getUrl(),
DataFeed.class);
// Output data to the screen.
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"));
}
}
}
最后,使用任意方式(main()或servlet)调用这个class的myTest()方法即可。
注意:
- Table ID的数字前加上“ga:”,例如ga:47778978
- 要取得的维度和指标信息需要在query.setDimensions()和query.setMetrics()中设定一下,见上面例子。
- 维度和指标具体含义,见Google官方文档:http://code.google.com/intl/zh-CN/apis/analytics/docs/gdata/gdataReferenceDimensionsMetrics.html
分享到:
相关推荐
Java调用Google Analytics API实现网站统计demo
Java调用Google Analytics API实现网站统计.doc,内含代码相关实例详细的介绍如何调用Google Analytics API实现网站统计,web开发的你一定很需要。
Google Analytics API Example 调用API示例, Funnel Visualization 数据 VS2012
Analytics Java库 用于Java客户端库。 一体化 将以下依赖项添加到pom.xml : <groupId>com.adobe.granite.analytics</groupId> <artifactId>java-client <version>1.2 另外,您可能需要配置Maven设置才能访问 ...
Google Java API客户端服务 此存储库包含使用各个API的生成的源。 我们建议使用的身份来处理身份验证。 要求 Java 7(或更高版本) Android 1.6(或更高版本) 支持的Google API 您可以在下面找到可用API的列表,...
简介Google Analytics Measurement API客户端 与Google Measurement API配合使用的Java API。 Google Analytics Measurement API客户端示例 也可以看看
洞察力仪表板一个示例 Android 应用程序,旨在说明如何在 Android 设备上使用 OAuth 2.0 以 Google 用户的名义访问 Google Analytics API。
measurementProtocol-用于将服务器端数据发送到Google Analytics(分析)4的R库 用于将数据发送到Google Analytics(分析)4。 该库使您能够使用R中的API。 它还包括使用测量协议来跟踪事件(例如R库负载)以进行...
java餐厅智能推荐系统源码公共 API 介绍 这是对从网络上搜索的不同 API 进行分类的尝试,这些 API 使它们的资源可供使用。 *标有的项目是开源的 *标有的项目 :money_with_wings: 是基于试用的 API 目录 蜜蜂 广告 - ...
此演示使用 Google Analytics Java API 和在 Google Earth 地图上呈现访问者统计信息。 为了使用此项目为您自己的 Google Analytics 帐户呈现统计信息,您需要: 在以下位置创建一个名为 config.properties 的文件...
Google Analytics(分析)是一个小型脚本项目,旨在收集来自各种网站和服务的数据,以获取有关NYSenate.gov和参议员的社交媒体帐户的统计数据。 要求 Maven-需要mvn2。 Java-首选Java7,兼容Java6 安装 克隆存储库 ...
可选步骤:这些子步骤不是必需的,但如果您想使用受身份验证保护的 API 方法,则需要执行此操作。 更新src/main/java/io/github/trevornelson/Constants.java以反映您在注册的相应客户端 ID。 更新src/main/...
2legged-oauth 在使用 Google 身份验证时嵌入应用程序中的凭据以避免用户重定向
GOOGLE_ANALYTICS_KEY 未使用 IIRC GOODREADS_API_KEY, GOODREADS_API_SECRET 在此处获取 GoodReads API 秘密 正如 GoodReads 开发者论坛上经常提到的那样,要访问他们的 API,必须使用 OAuth。 如果您好奇它在...
随后可以使用Google和其他提供商提供的各种工具来分析数据。 这是一段简短的Java代码片段,显示了如何使用该库通过api机密“ k2hL3x2dQaKq9F2gQ-PNhQ”发送针对测量ID“ G-TDAZG4CU3G”的Google Analytics(分析)...
完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划导航路径、GPS Google地图...
完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划导航路径、GPS Google地图...
完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划导航路径、GPS Google地图...
安装 : 1- 使用 maven 构建项目:在 GUA-Elastic-Plugin 文件夹下运行命令: mvn package获取releases文件夹下的gua-plugin-1.0-SNAPSHOT.zip 2-使用以下命令将插件安装到elastic中: ./bin/plugin -url file:/path...