2014-09-10 28 views
6

Próbuję użyć Google Cloud Storage java biblioteki w Scali do listy przedmiotów w wiadrzedostęp za pomocą Google Cloud Storage biblioteki Java dostaje '403.'

val credential = new GoogleCredential.Builder() 
    .setTransport(GoogleNetHttpTransport.newTrustedTransport()) 
    .setJsonFactory(JacksonFactory.getDefaultInstance()) 
    .setServiceAccountId("[email protected]") 
    .setServiceAccountScopes(Collections.singleton(StorageScopes.DEVSTORAGE_READ_ONLY)) 
    .setServiceAccountPrivateKeyFromP12File(new File("file.p12")) 
    .build() 
val storage = new Storage.Builder(
    GoogleNetHttpTransport.newTrustedTransport(), 
    JacksonFactory.getDefaultInstance(), 
    credential) 
    .setHttpRequestInitializer(credential) 
    .setApplicationName("app") 
    .build() 
storage.objects.list("bucket").execute 

jednak mam

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden 
{ 
    "code" : 403, 
    "errors" : [ { 
    "domain" : "global", 
    "message" : "Forbidden", 
    "reason" : "forbidden" 
    } ], 
    "message" : "Forbidden" 
} 

moje konto e-mail ma dostęp do zasobnika, mogę uzyskać do niego dostęp za pomocą gsutil, tworząc także projekt na moim koncie. Stworzyłem również [email protected] w projekcie na moim koncie, jakikolwiek pomysł, w jaki sposób mogę ustawić uprawnienia?

Odpowiedz

3

Właśnie natknąłem się na ten sam problem i sądzę, że znaleźliśmy rozwiązanie. Aby to naprawić, właściciel Konsoli programisty Google Play, do którego próbowaliśmy uzyskać dostęp, musiał dodać adres e-mail naszego konta usługi do listy uprawnień Konsoli Google Play i nadać uprawnieniom konta usługi raporty finansowe.

+0

To rozwiązanie jest niezabezpieczone! Każdy może dokonać inżynierii wstecznej pakietu APK i uzyskać klucz P12. Twoje konto Google Could Storage może zostać przejęte. Oto pytanie, które zadałem bez odpowiedzi, ponieważ również szukam rozwiązania! http://stackoverflow.com/q/28001476/3216207 – Oru

Powiązane problemy