//[START all] /* * Copyright (c) 2014 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ import java.io.File; import java.io.IOException; import java.util.HashSet; import java.util.List; import java.util.Set; import com.google.api.client.auth.oauth2.Credential; import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.HttpTransport; import com.google.api.client.json.JsonFactory; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.storage.Storage; import com.google.api.services.storage.StorageScopes; import com.google.api.services.storage.model.Bucket; import com.google.api.services.storage.model.StorageObject; /** * Main class for the Cloud Storage API command line sample. Demonstrates how to * make an authenticated API call using OAuth 2 helper classes. */ public class StorageSample2 { /** * Be sure to specify the name of your application. If the application name * is {@code null} or blank, the application will log a warning. Suggested * format is "MyCompany-ProductName/1.0". If you are running the sample on a * machine where you have access to a browser, set AUTH_LOCAL_WEBSERVER to * true. */ private static final String APPLICATION_NAME = "Livro do Lecheta"; private static final String BUCKET_NAME = Constants.BUCKET_NAME; /** Global instance of the JSON factory. */ private static final JsonFactory JSON_FACTORY = JacksonFactory .getDefaultInstance(); /** Global instance of the HTTP transport. */ private static HttpTransport httpTransport; private static Storage client; /** Authorizes the installed application to access user's protected data. */ private static Credential authorize() throws Exception { Set<String> scopes = new HashSet<String>(); scopes.add(StorageScopes.DEVSTORAGE_FULL_CONTROL); scopes.add(StorageScopes.DEVSTORAGE_READ_ONLY); scopes.add(StorageScopes.DEVSTORAGE_READ_WRITE); // Campo Email address criado no console. String accountId = Constants.ACCOUNT_ID; // Arquivo p12 baixado no console no momento de criar a chave. File p12File = new File(Constants.P12_FILE); // Autoriza a aplicação JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance(); HttpTransport httpTransport = GoogleNetHttpTransport .newTrustedTransport(); GoogleCredential credential = new GoogleCredential.Builder() .setTransport(httpTransport).setJsonFactory(JSON_FACTORY) .setServiceAccountId(accountId) .setServiceAccountPrivateKeyFromP12File(p12File) .setServiceAccountScopes(scopes).build(); return credential; } public static void main(String[] args) { try { // Initialize the transport. httpTransport = GoogleNetHttpTransport.newTrustedTransport(); // Authorization. Credential credential = authorize(); // Set up global Storage instance. client = new Storage.Builder(httpTransport, JSON_FACTORY, credential).setApplicationName(APPLICATION_NAME).build(); // Get metadata about the specified bucket. Storage.Buckets.Get getBucket = client.buckets().get(BUCKET_NAME); getBucket.setProjection("full"); Bucket bucket = getBucket.execute(); System.out.println("name: " + BUCKET_NAME); System.out.println("location: " + bucket.getLocation()); System.out.println("timeCreated: " + bucket.getTimeCreated()); System.out.println("owner: " + bucket.getOwner()); // List the contents of the bucket. Storage.Objects.List listObjects = client.objects().list( BUCKET_NAME); com.google.api.services.storage.model.Objects objects; do { objects = listObjects.execute(); List<StorageObject> items = objects.getItems(); if (null == items) { System.out .println("There were no objects in the given bucket; try adding some and re-running."); break; } for (StorageObject object : items) { System.out.println(object.getName() + " (" + object.getSize() + " bytes)"); } listObjects.setPageToken(objects.getNextPageToken()); } while (null != objects.getNextPageToken()); } catch (IOException e) { System.err.println(e.getMessage()); } catch (Throwable t) { t.printStackTrace(); } System.exit(1); } } // [END all]