gpt4 book ai didi

java - Google Cloud Storage - 如何授权?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:39 28 4
gpt4 key购买 nike

我拼命尝试从 Java 访问 Google Cloud Storage。我的挑战是我应该创建一个通用库,而基于浏览器的身份验证是不可能的。

无论我做什么,它总是告诉我“401 Unauthorised”。我肯定使用了正确的凭据,...我的 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();

对应的client id和secret在console中设置;但是,我总是告诉我“需要登录”。该库需要从工作进程中使用,因此不可能有人在浏览器窗口中授权该应用程序......

谢谢,

马里奥

最佳答案

我相信就在最近我们亲自讨论过这个问题实际上可以通过使用此处记录的 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();

关于java - Google Cloud Storage - 如何授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26758185/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com