#google-app-engine #google-cloud-storage
#google-app-engine #google-облачное хранилище
Вопрос:
В одном из моих требований необходимо перечислить имена объектов из корзины GCS, я следую правильному методу. пожалуйста, проверьте мой фрагмент кода. я добавил все необходимые банки OAuth.
List<String> scopes = new ArrayList<String>();
scopes.add(StorageScopes.DEVSTORAGE_FULL_CONTROL);
Credential credential;
try {
credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(
"")
.setServiceAccountPrivateKeyFromP12File(
new File(
"WEB-INF/key.p12")).build();
Storage storage = new Storage.Builder(httpTransport, jsonFactory,
credential).setApplicationName("span-test-app").setServiceAccountScopes(scopes).build();
List<String> list = new ArrayList<String>();
List<StorageObject> objects = storage.objects().list("spanbigdata")
.execute().getItems();
if (objects != null) {
for (StorageObject o : objects) {
out.println(o.getName());
}
Ошибка
Ошибка такого метода отсутствует.
com.google.api.client.googleapis.auth.oauth2.GoogleCredential$Builder.setServiceAccountScopes(Ljava/util/Collection;)Lcom/google/api/client/googleapis/auth/oauth2/GoogleCredential$Builder;
если я удалю setscopesmethod . это выдает исключение с нулевым указателем. пожалуйста, помогите мне устранить эту проблему.
Комментарии:
1. Каково содержимое NPE? Что такое null и указывает ли трассировка стека на конкретную строку-нарушитель?