簡體   English   中英

Google雲端存儲 - 如何授權?

[英]Google Cloud Storage - how to authorize?

我正在拼命嘗試從Java訪問Google雲端存儲。 我的挑戰是我應該創建一個通用庫,並且基於瀏覽器的auth是不可能的。

無論我做什么,它總是告訴我“401 Unauthorized”。 我肯定使用正確的憑據,...我的Java版本是1.7

這是代碼:

        GoogleCredential credential = new GoogleCredential.Builder()
            .setTransport(httpTransport)
            .setJsonFactory(new JacksonFactory())
            .setClientSecrets("clientid", "clientsecret").build();

            storage = new Storage.Builder(httpTransport, JSON_FACTORY, credential).setApplicationName(
                "test-name")
                .build();

相應的客戶端ID和密碼設置如控制台中所示; 但是,我總是告訴我“需要登錄”。 庫需要從工作進程中使用,因此有人無法在瀏覽器窗口中授權應用程序...

謝謝,

馬里奧

我相信,就在最近,我們親自討論過,通過使用此處記錄的Google服務帳戶實際解決了這個問題: https//developers.google.com/accounts/docs/OAuth2ServiceAccount

憑據是這樣構建的:

String emailAddress = "123456789000-abc123def456@developer.gserviceaccount.com";
JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential credential = new GoogleCredential.Builder()
    .setTransport(httpTransport)
    .setJsonFactory(JSON_FACTORY)
    .setServiceAccountId(emailAddress)
    .setServiceAccountPrivateKeyFromP12File(new File("MyProject.p12"))
    .setServiceAccountScopes(Collections.singleton(SQLAdminScopes.SQLSERVICE_ADMIN))
    .build();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM