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

Commit 12a9295

Browse files
author
Yaniv Inbar
committed
client_secrets.json support
http://codereview.appspot.com/5348047/
1 parent e80ab49 commit 12a9295

File tree

57 files changed

+366
-320
lines changed

Some content is hidden

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

57 files changed

+366
-320
lines changed

books-cmdline-sample/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
<dependency>
132132
<groupId>com.google.apis-samples</groupId>
133133
<artifactId>shared-sample-cmdline</artifactId>
134-
<version>1.0.0</version>
134+
<version>1.1.0</version>
135135
</dependency>
136136
</dependencies>
137137
<properties>

books-cmdline-sample/src/main/java/com/google/api/services/samples/books/cmdline/BooksSample.java

-3
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,11 @@
1414

1515
package com.google.api.services.samples.books.cmdline;
1616

17-
import com.google.api.client.googleapis.json.GoogleJsonError;
1817
import com.google.api.client.googleapis.json.GoogleJsonResponseException;
19-
import com.google.api.client.googleapis.json.GoogleJsonError.ErrorInfo;
2018
import com.google.api.client.http.HttpResponseException;
2119
import com.google.api.client.http.javanet.NetHttpTransport;
2220
import com.google.api.client.http.json.JsonHttpRequest;
2321
import com.google.api.client.http.json.JsonHttpRequestInitializer;
24-
import com.google.api.client.json.Json;
2522
import com.google.api.client.json.JsonFactory;
2623
import com.google.api.client.json.jackson.JacksonFactory;
2724
import com.google.api.services.books.Books;

calendar-android-sample/.classpath

+10-10
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@
88
<classpathentry kind="var"
99
path="M2_REPO/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar" />
1010
<classpathentry kind="var"
11-
path="M2_REPO/com/google/http-client/google-http-client/1.6.0-beta-SNAPSHOT/google-http-client-1.6.0-beta-SNAPSHOT.jar"
12-
sourcepath="M2_REPO/com/google/http-client/google-http-client/1.6.0-beta-SNAPSHOT/google-http-client-1.6.0-beta-SNAPSHOT-sources.jar" />
11+
path="M2_REPO/com/google/http-client/google-http-client/1.6.0-beta/google-http-client-1.6.0-beta.jar"
12+
sourcepath="M2_REPO/com/google/http-client/google-http-client/1.6.0-beta/google-http-client-1.6.0-beta-sources.jar" />
1313
<classpathentry kind="var"
14-
path="M2_REPO/com/google/http-client/google-http-client-extensions-android2/1.6.0-beta-SNAPSHOT/google-http-client-extensions-android2-1.6.0-beta-SNAPSHOT.jar"
15-
sourcepath="M2_REPO/com/google/http-client/google-http-client-extensions-android2/1.6.0-beta-SNAPSHOT/google-http-client-extensions-android2-1.6.0-beta-SNAPSHOT-sources.jar" />
14+
path="M2_REPO/com/google/http-client/google-http-client-extensions-android2/1.6.0-beta/google-http-client-extensions-android2-1.6.0-beta.jar"
15+
sourcepath="M2_REPO/com/google/http-client/google-http-client-extensions-android2/1.6.0-beta/google-http-client-extensions-android2-1.6.0-beta-sources.jar" />
1616
<classpathentry kind="var"
1717
path="M2_REPO/com/google/code/gson/gson/1.7.1/gson-1.7.1.jar" sourcepath="M2_REPO/com/google/code/gson/gson/1.7.1/gson-1.7.1-sources.jar" />
1818
<classpathentry kind="var"
19-
path="M2_REPO/com/google/oauth-client/google-oauth-client/1.6.0-beta-SNAPSHOT/google-oauth-client-1.6.0-beta-SNAPSHOT.jar"
20-
sourcepath="M2_REPO/com/google/oauth-client/google-oauth-client/1.6.0-beta-SNAPSHOT/google-oauth-client-1.6.0-beta-SNAPSHOT-sources.jar" />
19+
path="M2_REPO/com/google/oauth-client/google-oauth-client/1.6.0-beta/google-oauth-client-1.6.0-beta.jar"
20+
sourcepath="M2_REPO/com/google/oauth-client/google-oauth-client/1.6.0-beta/google-oauth-client-1.6.0-beta-sources.jar" />
2121
<classpathentry kind="var"
22-
path="M2_REPO/com/google/api-client/google-api-client/1.6.0-beta-SNAPSHOT/google-api-client-1.6.0-beta-SNAPSHOT.jar"
23-
sourcepath="M2_REPO/com/google/api-client/google-api-client/1.6.0-beta-SNAPSHOT/google-api-client-1.6.0-beta-SNAPSHOT-sources.jar" />
22+
path="M2_REPO/com/google/api-client/google-api-client/1.6.0-beta/google-api-client-1.6.0-beta.jar"
23+
sourcepath="M2_REPO/com/google/api-client/google-api-client/1.6.0-beta/google-api-client-1.6.0-beta-sources.jar" />
2424
<classpathentry kind="var"
25-
path="M2_REPO/com/google/api-client/google-api-client-extensions-android2/1.6.0-beta-SNAPSHOT/google-api-client-extensions-android2-1.6.0-beta-SNAPSHOT.jar"
26-
sourcepath="M2_REPO/com/google/api-client/google-api-client-extensions-android2/1.6.0-beta-SNAPSHOT/google-api-client-extensions-android2-1.6.0-beta-SNAPSHOT-sources.jar" />
25+
path="M2_REPO/com/google/api-client/google-api-client-extensions-android2/1.6.0-beta/google-api-client-extensions-android2-1.6.0-beta.jar"
26+
sourcepath="M2_REPO/com/google/api-client/google-api-client-extensions-android2/1.6.0-beta/google-api-client-extensions-android2-1.6.0-beta-sources.jar" />
2727
<classpathentry kind="var"
2828
path="M2_REPO/com/google/apis-samples/shared-sample-calendar/v2-1.0.0/shared-sample-calendar-v2-1.0.0.jar"
2929
sourcepath="M2_REPO/com/google/apis-samples/shared-sample-calendar/v2-1.0.0/shared-sample-calendar-v2-1.0.0-sources.jar" />

calendar-android-sample/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,17 @@
6868
<dependency>
6969
<groupId>com.google.http-client</groupId>
7070
<artifactId>google-http-client-extensions-android2</artifactId>
71-
<version>1.6.0-beta-SNAPSHOT</version>
71+
<version>1.6.0-beta</version>
7272
</dependency>
7373
<dependency>
7474
<groupId>com.google.api-client</groupId>
7575
<artifactId>google-api-client-extensions-android2</artifactId>
76-
<version>1.6.0-beta-SNAPSHOT</version>
76+
<version>1.6.0-beta</version>
7777
</dependency>
7878
<dependency>
7979
<groupId>com.google.apis-samples</groupId>
8080
<artifactId>shared-sample-calendar</artifactId>
81-
<version>v2-1.0.0</version>
81+
<version>v2-1.1.0</version>
8282
</dependency>
8383
<dependency>
8484
<groupId>com.google.android</groupId>

calendar-cmdline-sample/.project

+5
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010
<arguments>
1111
</arguments>
1212
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.m2e.core.maven2Builder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
1318
</buildSpec>
1419
<natures>
1520
<nature>org.eclipse.jdt.core.javanature</nature>

calendar-cmdline-sample/instructions.html

+5-3
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,16 @@ <h3>Checkout Instructions</h3>
2020
your <code>JAVA_HOME</code>.</p>
2121

2222
<p><b>Important:</b> after checking out the project, and before compiling
23-
and running it, you need to edit <code>OAuth2ClientCredentials.java</code> to
24-
enter the required credentials information. Otherwise, you will get a <code>400
23+
and running it, you need to edit <code>client_secrets.json</code> to
24+
enter the required credentials information (see <a
25+
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/OAuth2ClientCredentials.java?repo=samples"
26+
>instructions</a>). Otherwise, you will get a <code>400
2527
INVALID_CLIENT</code> error in the browser.</p>
2628

2729
<pre><code>cd <i>[someDirectory]</i>
2830
hg clone https://code.google.com/p/google-api-java-client.samples/ google-api-java-client-samples
2931
cd google-api-java-client-samples/shared/shared-sample-cmdline
30-
<i>[editor]</i> src/main/java/com/google/api/services/samples/shared/cmdline/oauth2/OAuth2ClientCredentials.java
32+
<i>[editor]</i> src/main/resources/client_secrets.json
3133
mvn source:jar install
3234
cd ../gdata/shared-sample-gdata
3335
mvn source:jar install

calendar-cmdline-sample/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,12 @@
113113
<dependency>
114114
<groupId>com.google.apis-samples</groupId>
115115
<artifactId>shared-sample-cmdline</artifactId>
116-
<version>1.0.0</version>
116+
<version>1.1.0</version>
117117
</dependency>
118118
<dependency>
119119
<groupId>com.google.apis-samples</groupId>
120120
<artifactId>shared-sample-calendar</artifactId>
121-
<version>v2-1.0.0</version>
121+
<version>v2-1.1.0</version>
122122
</dependency>
123123
</dependencies>
124124
<properties>

calendar-cmdline-sample/src/main/java/com/google/api/services/samples/calendar/cmdline/CalendarSample.java

+4-11
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
import com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource;
1818
import com.google.api.client.http.HttpResponseException;
1919
import com.google.api.client.http.HttpStatusCodes;
20-
import com.google.api.client.http.javanet.NetHttpTransport;
21-
import com.google.api.client.json.jackson.JacksonFactory;
2220
import com.google.api.client.util.DateTime;
2321
import com.google.api.services.calendar.CalendarClient;
2422
import com.google.api.services.calendar.CalendarUrl;
@@ -29,8 +27,8 @@
2927
import com.google.api.services.calendar.model.EventEntry;
3028
import com.google.api.services.calendar.model.EventFeed;
3129
import com.google.api.services.calendar.model.When;
30+
import com.google.api.services.samples.shared.cmdline.CmdlineUtils;
3231
import com.google.api.services.samples.shared.cmdline.oauth2.LocalServerReceiver;
33-
import com.google.api.services.samples.shared.cmdline.oauth2.OAuth2ClientCredentials;
3432
import com.google.api.services.samples.shared.cmdline.oauth2.OAuth2Native;
3533

3634
import java.io.IOException;
@@ -41,16 +39,11 @@
4139
*/
4240
public class CalendarSample {
4341

44-
static final NetHttpTransport TRANSPORT = new NetHttpTransport();
45-
static final JacksonFactory JSON_FACTORY = new JacksonFactory();
46-
4742
public static void main(String[] args) {
4843
try {
49-
OAuth2ClientCredentials.errorIfNotSpecified();
5044
GoogleAccessProtectedResource accessProtectedResource =
51-
OAuth2Native.authorize(TRANSPORT, JSON_FACTORY, new LocalServerReceiver(), null,
52-
"google-chrome", OAuth2ClientCredentials.CLIENT_ID,
53-
OAuth2ClientCredentials.CLIENT_SECRET, CalendarUrl.ROOT_URL);
45+
OAuth2Native.authorize(new LocalServerReceiver(), null, "google-chrome",
46+
CalendarUrl.ROOT_URL);
5447
CalendarClient client =
5548
new CalendarClient(
5649
new CalendarCmdlineRequestInitializer(accessProtectedResource).createRequestFactory());
@@ -65,7 +58,7 @@ public static void main(String[] args) {
6558
} catch (Throwable t) {
6659
t.printStackTrace();
6760
try {
68-
TRANSPORT.shutdown();
61+
CmdlineUtils.getHttpTransport().shutdown();
6962
} catch (IOException e) {
7063
e.printStackTrace();
7164
}

discovery-cmdline-sample/.project

+5
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010
<arguments>
1111
</arguments>
1212
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.m2e.core.maven2Builder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
1318
</buildSpec>
1419
<natures>
1520
<nature>org.eclipse.jdt.core.javanature</nature>

discovery-cmdline-sample/instructions.html

+8-1
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,17 @@ <h3>Installation Instructions</h3>
3535
href="http://maven.apache.org/download.html">Maven</a>. You may need to set
3636
your <code>JAVA_HOME</code>.</p>
3737

38+
<p><b>Important:</b> after checking out the project, and before compiling
39+
and running it, you need to edit <code>client_secrets.json</code> to
40+
enter the required credentials information (see <a
41+
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/OAuth2ClientCredentials.java?repo=samples"
42+
>instructions</a>). Otherwise, you will get a <code>400
43+
INVALID_CLIENT</code> error in the browser.</p>
44+
3845
<pre><code>cd <i>[someDirectory]</i>
3946
hg clone https://code.google.com/p/google-api-java-client.samples/ google-api-java-client-samples
4047
cd google-api-java-client-samples/shared/shared-sample-cmdline
41-
<i>[editor]</i> src/main/java/com/google/api/services/samples/shared/cmdline/oauth2/OAuth2ClientCredentials.java
48+
<i>[editor]</i> src/main/resources/client_secrets.json
4249
mvn source:jar install
4350
cd ../../discovery-cmdline-sample
4451
mvn assembly:assembly

discovery-cmdline-sample/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
<dependency>
125125
<groupId>com.google.apis-samples</groupId>
126126
<artifactId>shared-sample-cmdline</artifactId>
127-
<version>1.0.0</version>
127+
<version>1.1.0</version>
128128
</dependency>
129129
</dependencies>
130130
<properties>

discovery-cmdline-sample/src/main/java/com/google/api/services/samples/discovery/cmdline/DiscoverySample.java

+16-30
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/*
22
* Copyright (c) 2010 Google Inc.
3-
*
3+
*
44
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
55
* in compliance with the License. You may obtain a copy of the License at
6-
*
6+
*
77
* http://www.apache.org/licenses/LICENSE-2.0
8-
*
8+
*
99
* Unless required by applicable law or agreed to in writing, software distributed under the License
1010
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
1111
* or implied. See the License for the specific language governing permissions and limitations under
@@ -24,19 +24,16 @@
2424
import com.google.api.client.http.HttpResponse;
2525
import com.google.api.client.http.HttpResponseException;
2626
import com.google.api.client.http.UriTemplate;
27-
import com.google.api.client.http.javanet.NetHttpTransport;
2827
import com.google.api.client.http.json.JsonHttpParser;
29-
import com.google.api.client.json.JsonFactory;
30-
import com.google.api.client.json.jackson.JacksonFactory;
3128
import com.google.api.services.discovery.Discovery;
3229
import com.google.api.services.discovery.model.DirectoryList;
3330
import com.google.api.services.discovery.model.DirectoryListItems;
3431
import com.google.api.services.discovery.model.Jsonschema;
3532
import com.google.api.services.discovery.model.RestDescription;
3633
import com.google.api.services.discovery.model.Restmethod;
3734
import com.google.api.services.discovery.model.Restresource;
35+
import com.google.api.services.samples.shared.cmdline.CmdlineUtils;
3836
import com.google.api.services.samples.shared.cmdline.oauth2.LocalServerReceiver;
39-
import com.google.api.services.samples.shared.cmdline.oauth2.OAuth2ClientCredentials;
4037
import com.google.api.services.samples.shared.cmdline.oauth2.OAuth2Native;
4138
import com.google.common.base.Joiner;
4239
import com.google.common.collect.Lists;
@@ -58,9 +55,8 @@
5855
*/
5956
public class DiscoverySample {
6057

61-
static final NetHttpTransport TRANSPORT = new NetHttpTransport();
62-
static final JsonFactory JSON_FACTORY = new JacksonFactory();
63-
static final Discovery DISCOVERY = new Discovery(TRANSPORT, JSON_FACTORY);
58+
static final Discovery DISCOVERY = new Discovery(CmdlineUtils.getHttpTransport(),
59+
CmdlineUtils.getJsonFactory());
6460

6561
private static final String APP_NAME = "Google Discovery API Client 1.2.0";
6662

@@ -258,23 +254,13 @@ private static void call(String[] args) throws Exception {
258254
try {
259255
HttpRequestFactory requestFactory;
260256
if (method.getScopes() != null) {
261-
if (OAuth2ClientCredentials.CLIENT_ID == null
262-
|| OAuth2ClientCredentials.CLIENT_SECRET == null) {
263-
error(
264-
"call", "Please enter your client ID and secret in " + OAuth2ClientCredentials.class);
265-
}
266257
String scope = method.getScopes().get(0);
267-
GoogleAccessProtectedResource accessProtectedResource = OAuth2Native.authorize(TRANSPORT,
268-
JSON_FACTORY,
269-
new LocalServerReceiver(),
270-
null,
271-
"google-chrome",
272-
OAuth2ClientCredentials.CLIENT_ID,
273-
OAuth2ClientCredentials.CLIENT_SECRET,
274-
scope);
275-
requestFactory = TRANSPORT.createRequestFactory(accessProtectedResource);
258+
GoogleAccessProtectedResource accessProtectedResource =
259+
OAuth2Native.authorize(new LocalServerReceiver(), null, "google-chrome", scope);
260+
requestFactory =
261+
CmdlineUtils.getHttpTransport().createRequestFactory(accessProtectedResource);
276262
} else {
277-
requestFactory = TRANSPORT.createRequestFactory();
263+
requestFactory = CmdlineUtils.getHttpTransport().createRequestFactory();
278264
}
279265
HttpRequest request =
280266
requestFactory.buildRequest(HttpMethod.valueOf(method.getHttpMethod()), url, content);
@@ -299,7 +285,7 @@ private static RestDescription loadGoogleAPI(String command, String apiName, Str
299285
}
300286
try {
301287
HttpResponse response = DISCOVERY.apis().getRest(apiName, apiVersion).executeUnparsed();
302-
response.getRequest().addParser(new JsonHttpParser(JSON_FACTORY));
288+
response.getRequest().addParser(new JsonHttpParser(CmdlineUtils.getJsonFactory()));
303289
return response.parseAs(RestDescription.class);
304290
} catch (HttpResponseException e) {
305291
if (e.getResponse().getStatusCode() == 404) {
@@ -310,8 +296,8 @@ private static RestDescription loadGoogleAPI(String command, String apiName, Str
310296
}
311297
}
312298

313-
private static void processMethods(
314-
ArrayList<MethodDetails> result, String resourceName, Map<String, Restmethod> methodMap) {
299+
private static void processMethods(ArrayList<MethodDetails> result, String resourceName,
300+
Map<String, Restmethod> methodMap) {
315301
if (methodMap == null) {
316302
return;
317303
}
@@ -346,8 +332,8 @@ private static void processMethods(
346332
}
347333
}
348334

349-
private static void processResources(
350-
ArrayList<MethodDetails> result, String resourceName, Map<String, Restresource> resourceMap) {
335+
private static void processResources(ArrayList<MethodDetails> result, String resourceName,
336+
Map<String, Restresource> resourceMap) {
351337
if (resourceMap == null) {
352338
return;
353339
}

docs-cmdline-sample/.project

+5
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010
<arguments>
1111
</arguments>
1212
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.m2e.core.maven2Builder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
1318
</buildSpec>
1419
<natures>
1520
<nature>org.eclipse.jdt.core.javanature</nature>

docs-cmdline-sample/instructions.html

+5-3
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,16 @@ <h3>Checkout Instructions</h3>
2020
your <code>JAVA_HOME</code>.</p>
2121

2222
<p><b>Important:</b> after checking out the project, and before compiling
23-
and running it, you need to edit <code>OAuth2ClientCredentials.java</code> to
24-
enter the required credentials information. Otherwise, you will get a <code>400
23+
and running it, you need to edit <code>client_secrets.json</code> to
24+
enter the required credentials information (see <a
25+
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/OAuth2ClientCredentials.java?repo=samples"
26+
>instructions</a>). Otherwise, you will get a <code>400
2527
INVALID_CLIENT</code> error in the browser.</p>
2628

2729
<pre><code>cd <i>[someDirectory]</i>
2830
hg clone https://code.google.com/p/google-api-java-client.samples/ google-api-java-client-samples
2931
cd google-api-java-client-samples/shared/shared-sample-cmdline
30-
<i>[editor]</i> src/main/java/com/google/api/services/samples/shared/cmdline/oauth2/OAuth2ClientCredentials.java
32+
<i>[editor]</i> src/main/resources/client_secrets.json
3133
mvn source:jar install
3234
cd ../gdata/shared-sample-gdata
3335
mvn source:jar install

docs-cmdline-sample/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,12 @@
113113
<dependency>
114114
<groupId>com.google.apis-samples</groupId>
115115
<artifactId>shared-sample-cmdline</artifactId>
116-
<version>1.0.0</version>
116+
<version>1.1.0</version>
117117
</dependency>
118118
<dependency>
119119
<groupId>com.google.apis-samples</groupId>
120120
<artifactId>shared-sample-docs</artifactId>
121-
<version>v3-1.0.0</version>
121+
<version>v3-1.1.0</version>
122122
</dependency>
123123
</dependencies>
124124
<properties>

0 commit comments

Comments
 (0)