Skip to content

Commit ebc6764

Browse files
committed
Merge pull request GoogleCloudPlatform#37 from GoogleCloudPlatform/storage-scope
Add scopes if required.
2 parents 9127a79 + 1179b2b commit ebc6764

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1515
<project.http.version>1.19.0</project.http.version>
1616
<project.oauth.version>1.19.0</project.oauth.version>
17+
<maven.compiler.target>1.7</maven.compiler.target>
18+
<maven.compiler.source>1.7</maven.compiler.source>
1719
</properties>
1820

1921
<prerequisites>

storage/json-api/src/main/java/StorageSample.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.google.api.client.json.JsonFactory;
2121
import com.google.api.client.json.jackson2.JacksonFactory;
2222
import com.google.api.services.storage.Storage;
23+
import com.google.api.services.storage.StorageScopes;
2324
import com.google.api.services.storage.model.Bucket;
2425
import com.google.api.services.storage.model.ObjectAccessControl;
2526
import com.google.api.services.storage.model.Objects;
@@ -61,6 +62,12 @@ public class StorageSample {
6162
private static Storage getService() throws IOException, GeneralSecurityException {
6263
if (null == storageService) {
6364
GoogleCredential credential = GoogleCredential.getApplicationDefault();
65+
// Depending on the environment that provides the default credentials (e.g. Compute Engine,
66+
// App Engine), the credentials may require us to specify the scopes we need explicitly.
67+
// Check for this case, and inject the Bigquery scope if required.
68+
if (credential.createScopedRequired()) {
69+
credential = credential.createScoped(StorageScopes.all());
70+
}
6471
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
6572
storageService = new Storage.Builder(httpTransport, JSON_FACTORY, credential)
6673
.setApplicationName(APPLICATION_NAME).build();

0 commit comments

Comments
 (0)