首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gcloud: appengine for Cloud Storage (java)中的默认应用凭证

gcloud: appengine for Cloud Storage (java)中的默认应用凭证
EN

Stack Overflow用户
提问于 2016-06-22 20:09:44
回答 1查看 639关注 0票数 1

在从appengine web应用程序访问Google Cloud Storage时,我遇到了身份验证方面的困难。我要使用应用程序默认凭据。也许有人能给我一些建议。

我有一个项目,服务帐户:"x@appspot.gserviceaccount.com“。

在IAM部分,该项目只有成员,y@gmail.com (这是我的电子邮件地址),与角色所有者。

在这个项目中,我有两个云存储存储桶,staging.x.appspot.com和x.appspot.com。我还没有编辑他们的权限。

在该项目中,我有一个用Java编写的appengine web应用程序。从它的代码中,我想像这样访问云存储:

代码语言:javascript
复制
    import com.google.cloud.AuthCredentials;
    import com.google.cloud.storage.Storage;

    AuthCredentials credentials=AuthCredentials.createApplicationDefaults();
    Storage storage=StorageOptions.builder().authCredentials(credentials).build().service();

使用maven依赖项

代码语言:javascript
复制
    <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-api-1.0-sdk</artifactId>
        <version>1.9.38</version>
    </dependency>

    <dependency>
        <groupId>com.google.auth</groupId>
        <artifactId>google-auth-library-appengine</artifactId>
        <version>0.4.0</version>
    </dependency>

    <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>gcloud-java</artifactId>
        <version>0.2.3</version>
    </dependency>

我用以下命令启动开发服务器:

代码语言:javascript
复制
mvn clean appengine:devserver

并使用

代码语言:javascript
复制
mvn clean appengine:update

我本以为这就足够了。

但在一台计算机上的devserver中,它可以工作,在另一台计算机上,我得到异常"401无效身份验证“或类似的东西。我不知道计算机之间的区别是什么。

在部署的应用程序中,我得到了异常403禁止。

原因: com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 {“代码”:403,“错误”:{“域”:“全局”,“消息”:“禁止”,“原因”:“禁止”},“消息”:“禁止”}

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-07-15 21:32:44

正如布兰登和尼克所说,拥有谷歌用户(所以不是服务账户)的gcloud auth login做到了这一点。谢谢你的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37967624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档