九寨沟网站建设规划书,南海网站建设哪家好,网络营销做得好的公司,短链接生成下载在深入研究Google Analytics#xff08;分析#xff09;API之前#xff0c;了解一些Google Analytics#xff08;分析#xff09;术语及其关系总是很有用的。 Google帐户#xff1a;要访问Google Analytics#xff08;分析#xff09;#xff0c;用户将需要一个Google… 在深入研究Google Analytics分析API之前了解一些Google Analytics分析术语及其关系总是很有用的。 Google帐户要访问Google Analytics分析用户将需要一个Google帐户该帐户使用户可以登录多个Google产品例如GmailBloggerAnalyticsAdsense等。[user.01gmail.com]。 Google Analytics分析帐户当用户想要访问网络分析功能时他们需要注册此服务。 这是代表分析帐户的唯一ID。 用户仍然可以使用其Google帐户电子邮件地址进行身份验证并登录到Google Analytics分析帐户服务。 [例如65421] Google Analytics分析示例帐户 网站资源网站资源可以称为可以独立跟踪的一个网站。 如果该帐户称为AbcCompany则一个网站资源可以是abc.com它引用了用户的个人网站另一个网站资源可以是abcbiz.com它引用了用户的商业网站另一个则可以是abc.mobi它专门针对他的移动客户。 帐户下的网络媒体资源将具有相同的帐号但后缀不同。 例如如果AbcCompany的帐户ID是65421则abc.com的网络媒体资源可以是UA-65421-1而abcbiz.com的网络媒体资源可以是UA-65421-2。 Google Analytics分析示例属性 使用“属性”选项卡创建新属性 创建一个新属性 Google Analytics分析配置文件每个网络载体帐户将至少具有一个Analytics分析配置文件。 该配置文件可以访问所有分析数据和报告。 每个配置文件将具有唯一的配置文件ID。 配置文件可以具有多个目标用户过滤器和资产。 个人资料 配置文件设置选项卡提供了配置文件ID和网站URL的详细信息。配置文件可以有一个或多个用户。 编辑配置文件设置 关系的详细信息在下图中突出显示。 GA用户个人资料帐户关系 什么是OAuth 2.0 OAuth是授权的开放标准。 它允许用户从一个位置到另一位置共享他们的资源而无需共享凭据。 OAuth 2.0基于OAuth协议但是它为Web应用程序桌面应用程序移动应用程序等提供了新的身份验证功能可帮助彼此对话。它们使用令牌而不是实际的用户名和密码来进行交谈并提供授权。 Google API与OAuth2.0有何关系 Google API使用OAuth 2.0标准提供对其应用程序的访问。 Google使用此协议作为他们的身份验证和授权尤其是当第三方客户端希望安全地访问Google应用程序数据时。 Google授权在几个高级步骤中起作用 a向Google注册应用程序 b将浏览器重定向到URL c从响应中解析令牌 d将令牌发送到Google授权服务器。 e使用请求的访问令牌获取Google Analytics分析数据。 下图描述了对Google服务器在本例中为Analytics服务器进行身份验证和授权所遵循的步骤。 Google Analytics分析架构 好了所有介绍都结束了。 我们将采取行动。 到目前为止我们已经了解了Google Analytics分析数据的各种功能以及授权和认证机制。 现在我们将详细介绍实现细节。 糟糕...仍然缺少一项。 这一切都是关于我们将从Google Analytics分析访问哪些数据以及它们之间的关系。 维度与指标 维度与指标 简单来说Google Analytics分析中的Dimension代表报告中的行而metrics则代表列。 例如维度是指国家/地区浏览器流量来源而指标是指访问新访问者交易等。 那么我们要如何处理所有这些细节 问题陈述我们正在尝试创建一个独立的应用程序该应用程序将尝试使用OAuth 2.0协议并从Google Analytics分析中获取数据。 解 步骤1下载并导入Jar文件 首先我们需要下载并导入以下jar文件 下载位置 Google客户端API google-api-client-1.8.0-beta.jar –包含Google Analytics分析的Core API代码 google-oauth-client-1.8.0-beta.jar –包含OAuth客户端代码 gson-2.1.jar – Java库用于将JSON转换为Java对象反之亦然 guava-11.0.1.jar –这个jar包含几个Google的核心库例如集合缓存原始支持通用注释字符串处理 jackson-core-asl-1.9.4.jar –这是高性能的JSON处理器 步骤2向Google注册客户应用程序 每个应用程序都必须向Google API注册以便我们在身份验证和授权过程中使用OAuth 2.0令牌。 要注册应用程序用户必须登录Google帐户并转到Google API控制台 。 在Google API控制台中使用左侧菜单创建一个新项目。 创建一个新项目 使用“服务”标签启用Analytics API以便可以对其进行访问。 启用Analytics API 在“ API访问”标签中创建OAuth 2.0客户端ID。 创建OAuth客户端ID 创建客户ID的品牌信息 创建品牌信息 选择应用程序类型。 在我们的示例中我们选择通常在本地系统上运行的“已安装的应用程序”。 选择应用类型 API控制台摘要提供了客户端ID和客户端密钥的详细信息。 Google API控制台摘要 步骤3授权要求 注册将为您的应用程序提供clientId和clientSecret值以便它可以与Google API一起使用。 此密钥将避免客户端应用程序共享用户名或密码而是使用这些密钥。 当执行客户端应用程序时它会提示用户允许访问并将用户重定向到Google URL后者提供了授权代码。 授权代码被反馈到客户端应用程序然后使用该代码获取访问令牌。 第4步访问Google Analytics分析用户数据 客户端应用程序使用访问令牌来获取Google Analytics分析用户的数据。 GA示例下载代码 示例代码说明 从Google API控制台收到的Client ID和Client Secret值需要在程序中复制到此处。 private static final String CLIENT_ID XXXXXXXXXX;
private static final String CLIENT_SECRET XXXXXXXXX; 生成将用于获取授权码的URL。 String authorizationUrl new GoogleAuthorizationRequestUrl(CLIENT_ID,REDIRECT_URL, SCOPE).build(); 此处REDIRECT_URL表示授权服务器将用户代理重定向到最终用户授权步骤已完成的绝对URI路径而SCOPE表示表示的访问请求的范围。 一旦执行了应用程序即会生成URL。 该网址将询问Analytics分析帐户用户是否可以允许访问以获取授权码。 授权码生成后将在客户端应用程序中使用它来访问Google API令牌。 从控制台读取授权代码 BufferedReader in new BufferedReader(new InputStreamReader(System.in)); 使用授权码访问OAuth 2.0令牌 AccessTokenResponse response new GoogleAccessTokenRequest.GoogleAuthorizationCodeGrant(netHttpTransport, jacksonFactory, CLIENT_ID, CLIENT_SECRET,authorizationCode, REDIRECT_URL).execute(); 初始化Analytics服务对象 Analytics analytics Analytics.builder(netHttpTransport, jacksonFactory).setHttpRequestInitializer(googleAccessProtectedResource).setApplicationName(APPLICATION_NAME).build(); 获取个人资料详细信息 Profiles profiles analytics.management().profiles().list(~all, ~all).execute(); 使用API查询获取Google Analytics分析数据 Get apiQuery analytics.data().ga().get(ga: profile.getId(), // Table ID gaProfileID2012-03-21, // Start date2012-05-04, // End datega:visits); // Metrics 设置过滤器 apiQuery.setFilters(ga:mediumreferral);
apiQuery.setMaxResults(100); 执行查询 GaData gaData apiQuery.execute(); 然后可以使用retrieveData方法从GaData对象中检索数据。 public static void retrieveData(GaData gaData) {
// Get Row Data
if (gaData.getTotalResults() 0) {
// Get the column headers
for (ColumnHeaders header : gaData.getColumnHeaders()) {
System.out.format(%-20s,
header.getName() ( header.getDataType() ));
}
System.out.println();
// Print the rows of data.
for (ListString rowValues : gaData.getRows()) {
for (String value : rowValues) {
System.out.format(%-20s, value);
}
System.out.println();
}
} else {
System.out.println(No data available);
}
} 如果您想进一步了解Google Analytics分析可以参考我们的文章“ All about Google Analytics分析 ”。 参考 Google API如何访问Google Analytics分析数据 从我们的JCG合作伙伴 Mainak Goswami在Idiotechie博客上获得。 翻译自: https://www.javacodegeeks.com/2012/07/google-api-how-to-access-analytics-data.html