Skip to content
This repository was archived by the owner on Feb 18, 2024. It is now read-only.

Commit ced59e5

Browse files
author
Yaniv Inbar
committed
[api-samples based-on-1.11] Update some samples to 1.11
https://codereview.appspot.com/6489048
1 parent b183980 commit ced59e5

File tree

47 files changed

+724
-1516
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+724
-1516
lines changed

analytics-cmdline-sample/.classpath

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<classpath>
33
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
4+
<classpathentry kind="src" path="src/main/resources"/>
45
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
5-
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
6+
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
67
<classpathentry kind="output" path="target/classes"/>
78
</classpath>

analytics-cmdline-sample/HelloAnalyticsApiSample.launch

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</listAttribute>
99
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
1010
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.api.services.samples.analytics.cmdline.HelloAnalyticsApiSample"/>
11-
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="plus-cmdline-sample"/>
11+
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="analytics-cmdline-sample"/>
1212
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
13-
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djava.util.logging.config.file=${project_loc:plus-analytics-sample}/logging.properties"/>
13+
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djava.util.logging.config.file=${project_loc:analytics-cmdline-sample}/logging.properties"/>
1414
</launchConfiguration>

analytics-cmdline-sample/McfReportingApiReferenceSample.launch

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</listAttribute>
99
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
1010
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.api.services.samples.analytics.cmdline.McfReportingApiReferenceSample"/>
11-
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="plus-cmdline-sample"/>
11+
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="analytics-cmdline-sample"/>
1212
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
13-
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djava.util.logging.config.file=${project_loc:plus-analytics-sample}/logging.properties"/>
13+
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djava.util.logging.config.file=${project_loc:analytics-cmdline-sample}/logging.properties"/>
1414
</launchConfiguration>
+93-77
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,114 @@
11
<html>
2-
<title>analytics-cmdline-sample</title>
2+
<title>analytics-cmdline-sample</title>
33
<body>
4-
<h2>Instructions for the Google Analytics API Command-Line Samples</h2>
4+
<h2>Instructions for the Google Analytics API Command-Line Samples</h2>
55

6-
<h3>Browse Online</h3>
6+
<h3>Browse Online</h3>
77

8-
<p>There are 3 samples. <a
9-
href="http://code.google.com/p/google-api-java-client/source/browse?repo=samples#hg/analytics-cmdline-sample">Browse
10-
Source</a> of all of them. Or view the main file of each sample:</p>
8+
<p>
9+
There are 3 samples. <a
10+
href="http://code.google.com/p/google-api-java-client/source/browse?repo=samples#hg/analytics-cmdline-sample">Browse
11+
Source</a> of all of them. Or view the main file of each sample:
12+
</p>
1113

12-
<ul>
13-
<li><a
14-
href="http://code.google.com/p/google-api-java-client/source/browse/analytics-cmdline-sample/src/main/java/com/google/api/services/samples/analytics/cmdline/HelloAnalyticsApiSample.java?repo=samples">HelloAnalyticsApiSample.java</a></li>
15-
<li><a
16-
href="http://code.google.com/p/google-api-java-client/source/browse/analytics-cmdline-sample/src/main/java/com/google/api/services/samples/analytics/cmdline/CoreReportingApiReferenceSample.java?repo=samples">CoreReportingApiReferenceSample.java</a></li>
17-
<li><a
18-
href="http://code.google.com/p/google-api-java-client/source/browse/analytics-cmdline-sample/src/main/java/com/google/api/services/samples/analytics/cmdline/ManagementApiReferenceSample.java?repo=samples">ManagementApiReferenceSample.java</a></li>
19-
<li><a
20-
href="http://code.google.com/p/google-api-java-client/source/browse/analytics-cmdline-sample/src/main/java/com/google/api/services/samples/analytics/cmdline/McfReportingApiReferenceSample.java?repo=samples">McfReportingApiReferenceSample.java</a></li>
21-
</ul>
14+
<ul>
15+
<li><a
16+
href="http://code.google.com/p/google-api-java-client/source/browse/analytics-cmdline-sample/src/main/java/com/google/api/services/samples/analytics/cmdline/HelloAnalyticsApiSample.java?repo=samples">HelloAnalyticsApiSample.java</a></li>
17+
<li><a
18+
href="http://code.google.com/p/google-api-java-client/source/browse/analytics-cmdline-sample/src/main/java/com/google/api/services/samples/analytics/cmdline/CoreReportingApiReferenceSample.java?repo=samples">CoreReportingApiReferenceSample.java</a></li>
19+
<li><a
20+
href="http://code.google.com/p/google-api-java-client/source/browse/analytics-cmdline-sample/src/main/java/com/google/api/services/samples/analytics/cmdline/ManagementApiReferenceSample.java?repo=samples">ManagementApiReferenceSample.java</a></li>
21+
<li><a
22+
href="http://code.google.com/p/google-api-java-client/source/browse/analytics-cmdline-sample/src/main/java/com/google/api/services/samples/analytics/cmdline/McfReportingApiReferenceSample.java?repo=samples">McfReportingApiReferenceSample.java</a></li>
23+
</ul>
24+
25+
<h3>Register Your Application</h3>
2226

23-
<h3>Checkout Instructions</h3>
27+
<ul>
28+
<li>Visit the <a href="https://code.google.com/apis/console/?api=analytics">Google
29+
apis console</a>
30+
</li>
31+
<li>If this is your first time, click "Create project..."</li>
32+
<li>Click on "API Access", and then on "Create an OAuth 2.0 Client
33+
ID...".</li>
34+
<li>Enter a product name and click "Next".</li>
35+
<li>Select "Installed application" and click "Create client ID".</li>
36+
<li>Enter the "Client ID" and "Client secret" shown under "Client ID
37+
for installed applications" into <a
38+
href="src/main/resources/client_secrets.json">src/main/resources/client_secrets.json</a>
39+
file after checking out the code (otherwise you will get a <code>400
40+
INVALID_CLIENT</code> error in the browser when running the sample).</li>
41+
</ul>
2442

25-
<p><b>Prerequisites:</b> install <a href="http://java.com">Java 6</a>, <a
26-
href="http://mercurial.selenic.com/">Mercurial</a> and <a
27-
href="http://maven.apache.org/download.html">Maven</a>. You may need to set
28-
your <code>JAVA_HOME</code>.</p>
43+
<h3>Checkout Instructions</h3>
2944

30-
<p><b>Important:</b> after checking out the project, and before compiling
31-
and running it, you need to edit <code>client_secrets.json</code> to
32-
enter the required credentials information (see <a
33-
href="http://code.google.com/p/google-api-java-client/source/browse/shared/shared-sample-cmdline/src/main/java/com/google/api/services/samples/shared/cmdline/oauth2/OAuth2Native.java?repo=samples">instructions</a>). Otherwise, you will get a <code>400
34-
INVALID_CLIENT</code> error in the browser.</p>
45+
<p>
46+
<b>Prerequisites:</b> install <a href="http://java.com">Java 6</a>, <a
47+
href="http://mercurial.selenic.com/">Mercurial</a>, and <a
48+
href="http://maven.apache.org/download.html">Maven</a>. You may need to
49+
set your
50+
<code>JAVA_HOME</code>
51+
.
52+
</p>
3553

36-
<pre><code>cd <i>[someDirectory]</i>
54+
<pre>
55+
cd <i>[someDirectory]</i>
3756
hg clone https://code.google.com/p/google-api-java-client.samples/ google-api-java-client-samples
38-
cd google-api-java-client-samples/shared/shared-sample-cmdline
57+
cd google-api-java-client-samples/analytics-cmdline-sample
3958
<i>[editor]</i> src/main/resources/client_secrets.json
40-
mvn source:jar install
41-
cd ../../analytics-cmdline-sample
4259
mvn compile
4360
mvn -q exec:java
44-
</code></pre>
61+
</pre>
4562

46-
<h3>Setup Project in Eclipse 3.5/3.6</h3>
63+
<h3>Setup Project in Eclipse</h3>
4764

48-
<p><b>Prerequisites:</b> install <a href="http://www.eclipse.org/downloads/">Eclipse</a>,
49-
the <a href="http://javaforge.com/project/HGE">Mercurial plugin</a>, and the <a
50-
href="http://m2eclipse.sonatype.org/installing-m2eclipse.html">Maven
51-
plugin</a>.</p>
65+
<p>
66+
<b>Prerequisites:</b> install <a href="http://www.eclipse.org/downloads/">Eclipse</a>,
67+
the <a href="http://javaforge.com/project/HGE">Mercurial plugin</a>, and the
68+
<a href="http://m2eclipse.sonatype.org/installing-m2eclipse.html">Maven
69+
plugin</a>.
70+
</p>
5271

53-
<ul>
54-
<li>Setup Eclipse Preferences
5572
<ul>
56-
<li>Window &gt; Preferences... (or on Mac, Eclipse &gt; Preferences...)</li>
57-
<li>Select Maven
58-
<ul>
59-
<li>check on "Download Artifact Sources"</li>
60-
<li>check on "Download Artifact JavaDoc"</li>
61-
</ul>
73+
<li>Setup Eclipse Preferences
74+
<ul>
75+
<li>Window &gt; Preferences... (or on Mac, Eclipse &gt;
76+
Preferences...)</li>
77+
<li>Select Maven
78+
<ul>
79+
<li>check on "Download Artifact Sources"</li>
80+
<li>check on "Download Artifact JavaDoc"</li>
81+
</ul>
82+
</li>
83+
</ul>
84+
</li>
85+
<li>Import <code>analytics-cmdline-sample</code> project
86+
<ul>
87+
<li>File &gt; Import...</li>
88+
<li>Select "General &gt; Existing Project into Workspace" and click
89+
"Next"</li>
90+
<li>Click "Browse" next to "Select root directory", find <code>
91+
<i>[someDirectory]</i>/google-api-java-client-samples/analytics-cmdline-sample
92+
</code> and click "Next"
93+
</li>
94+
<li>Click "Finish"</li>
95+
</ul>
96+
</li>
97+
<li>Run
98+
<ul>
99+
<li>Right-click on project analytics-cmdline-sample</li>
100+
<li>Run As &gt; Java Application</li>
101+
<li>If asked, type "HelloAnalyticsApiSample" and click OK</li>
102+
</ul>
62103
</li>
63104
</ul>
64-
</li>
65-
<li>Import <code>analytics-cmdline-sample</code> project
66-
<ul>
67-
<li>File &gt; Import...</li>
68-
<li>Select "General &gt; Existing Project into Workspace" and click
69-
"Next"</li>
70-
<li>Click "Browse" next to "Select root directory", find
71-
<code><i>[someDirectory]</i>/google-api-java-client-samples/analytics-cmdline-sample</code>
72-
and click "Next"</li>
73-
<li>Click "Finish"</li>
74-
</ul>
75-
</li>
76-
<li>Run
77-
<ul>
78-
<li>Right-click on project analytics-cmdline-sample</li>
79-
<li>Run As &gt; Java Application</li>
80-
<li>If asked, type "HelloAnalyticsApiSample" and click OK</li>
81-
</ul>
82-
</li>
83-
<li>To enable logging:
84-
<ul>
85-
<li>Run &gt; Run Configurations...</li>
86-
<li>Click on "Java Application &gt; HelloAnalyticsApi"</li>
87-
<li>Click on "Arguments" tab</li>
88-
<li>VM arguments: <code>-Djava.util.logging.config.file=${project_loc}/logging.properties</code></li>
89-
<li>Click "Run"</li>
90-
</ul>
91-
</li>
92-
</ul>
93-
<p><strong>Note</strong>: The default for this project is to run the
94-
HelloAnalyticsApiSample application. You can run the other samples by
95-
updating the <code>pom.xml</code> <code>mainClass</code> attribute for Maven
96-
or Right clicking the appropriate file in Eclipse.</p>
105+
<p>
106+
<strong>Note</strong>: The default for this project is to run the
107+
HelloAnalyticsApiSample application. You can run the other samples by
108+
updating the
109+
<code>pom.xml</code>
110+
<code>mainClass</code>
111+
attribute for Maven or Right clicking the appropriate file in Eclipse.
112+
</p>
97113
</body>
98114
</html>

analytics-cmdline-sample/pom.xml

+12-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</parent>
99
<groupId>com.google.apis-samples</groupId>
1010
<artifactId>analytics-cmdline-sample</artifactId>
11-
<version>1.0</version>
11+
<version>1</version>
1212
<name>Example for the Analytics API v3 using JSON.</name>
1313

1414
<url>http://code.google.com/p/google-api-java-client/</url>
@@ -126,15 +126,22 @@
126126
<dependency>
127127
<groupId>com.google.apis</groupId>
128128
<artifactId>google-api-services-analytics</artifactId>
129-
<version>v3-rev10-1.7.2-beta</version>
129+
<version>v3-rev20120808-1.8.0-beta</version>
130130
</dependency>
131131
<dependency>
132-
<groupId>com.google.apis-samples</groupId>
133-
<artifactId>shared-sample-cmdline</artifactId>
134-
<version>1.3.2</version>
132+
<groupId>com.google.http-client</groupId>
133+
<artifactId>google-http-client-jackson2</artifactId>
134+
<version>${project.http.version}</version>
135+
</dependency>
136+
<dependency>
137+
<groupId>com.google.oauth-client</groupId>
138+
<artifactId>google-oauth-client-jetty</artifactId>
139+
<version>${project.oauth.version}</version>
135140
</dependency>
136141
</dependencies>
137142
<properties>
143+
<project.http.version>1.11.0-beta-SNAPSHOT</project.http.version>
144+
<project.oauth.version>1.11.0-beta-SNAPSHOT</project.oauth.version>
138145
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
139146
</properties>
140147
</project>

analytics-cmdline-sample/src/main/java/com/google/api/services/samples/analytics/cmdline/CoreReportingApiReferenceSample.java

+37-11
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,29 @@
1313
*/
1414
package com.google.api.services.samples.analytics.cmdline;
1515

16-
import java.io.IOException;
17-
import java.util.Arrays;
18-
import java.util.List;
19-
import java.util.Map;
20-
2116
import com.google.api.client.auth.oauth2.Credential;
17+
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
18+
import com.google.api.client.extensions.java6.auth.oauth2.FileCredentialStore;
19+
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
20+
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
21+
import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
2222
import com.google.api.client.googleapis.json.GoogleJsonResponseException;
2323
import com.google.api.client.http.HttpTransport;
2424
import com.google.api.client.http.javanet.NetHttpTransport;
2525
import com.google.api.client.json.JsonFactory;
26-
import com.google.api.client.json.jackson.JacksonFactory;
26+
import com.google.api.client.json.jackson2.JacksonFactory;
2727
import com.google.api.services.analytics.Analytics;
2828
import com.google.api.services.analytics.AnalyticsScopes;
2929
import com.google.api.services.analytics.model.GaData;
3030
import com.google.api.services.analytics.model.GaData.ColumnHeaders;
3131
import com.google.api.services.analytics.model.GaData.ProfileInfo;
3232
import com.google.api.services.analytics.model.GaData.Query;
33-
import com.google.api.services.samples.shared.cmdline.oauth2.LocalServerReceiver;
34-
import com.google.api.services.samples.shared.cmdline.oauth2.OAuth2Native;
33+
34+
import java.io.File;
35+
import java.io.IOException;
36+
import java.util.Collections;
37+
import java.util.List;
38+
import java.util.Map;
3539

3640
/**
3741
* This application demonstrates how to use the Google Analytics Java client library to access
@@ -88,6 +92,30 @@ public static void main(String[] args) {
8892
}
8993
}
9094

95+
/** Authorizes the installed application to access user's protected data. */
96+
private static Credential authorize() throws Exception {
97+
// load client secrets
98+
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(
99+
JSON_FACTORY, HelloAnalyticsApiSample.class.getResourceAsStream("/client_secrets.json"));
100+
if (clientSecrets.getDetails().getClientId().startsWith("Enter")
101+
|| clientSecrets.getDetails().getClientSecret().startsWith("Enter ")) {
102+
System.out.println(
103+
"Enter Client ID and Secret from https://code.google.com/apis/console/?api=analytics "
104+
+ "into analytics-cmdline-sample/src/main/resources/client_secrets.json");
105+
System.exit(1);
106+
}
107+
// set up file credential store
108+
FileCredentialStore credentialStore = new FileCredentialStore(
109+
new File(System.getProperty("user.home"), ".credentials/analytics.json"), JSON_FACTORY);
110+
// set up authorization code flow
111+
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
112+
HTTP_TRANSPORT, JSON_FACTORY, clientSecrets,
113+
Collections.singleton(AnalyticsScopes.ANALYTICS_READONLY)).setCredentialStore(
114+
credentialStore).build();
115+
// authorize
116+
return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
117+
}
118+
91119
/**
92120
* Performs all necessary setup steps for running requests against the API.
93121
* @return an initialized Analytics service object.
@@ -96,9 +124,7 @@ public static void main(String[] args) {
96124
*/
97125
private static Analytics initializeAnalytics() throws Exception {
98126
// Authorization.
99-
Credential credential = OAuth2Native.authorize(
100-
HTTP_TRANSPORT, JSON_FACTORY, new LocalServerReceiver(),
101-
Arrays.asList(AnalyticsScopes.ANALYTICS_READONLY));
127+
Credential credential = authorize();
102128

103129
// Set up and return Google Analytics API client.
104130
return new Analytics.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)

0 commit comments

Comments
 (0)