Google app engine 凭证和谷歌云存储是如何工作的?

Google app engine 凭证和谷歌云存储是如何工作的?,google-app-engine,oauth-2.0,credentials,google-cloud-storage,Google App Engine,Oauth 2.0,Credentials,Google Cloud Storage,我刚刚开始开发GAE web应用程序。我正试图获得一个谷歌云存储桶的列表。我从网站上找到了一些代码 我在网上找到了三种方法 使用谷歌存储API 使用Json库 但thsi示例需要为bucket配置域验证 使用python 我们现有的应用程序是由gae为Java开发的。我不认为这种python方式可以包含在Java应用程序中 那么我想修好第一条路 它显示凭证错误。Bucket现在授权给所有人(所有经过身份验证的用户)。我想我需要了解凭证是如何工作的。我已经阅读了关于0Auth2的google开发

我刚刚开始开发GAE web应用程序。我正试图获得一个谷歌云存储桶的列表。我从网站上找到了一些代码

我在网上找到了三种方法

  • 使用谷歌存储API

  • 使用Json库

    但thsi示例需要为bucket配置域验证

  • 使用python

    我们现有的应用程序是由gae为Java开发的。我不认为这种python方式可以包含在Java应用程序中

  • 那么我想修好第一条路

    它显示凭证错误。Bucket现在授权给所有人(所有经过身份验证的用户)。我想我需要了解凭证是如何工作的。我已经阅读了关于0Auth2的google开发者页面。我可以找到bigquery的一个示例。如果您有一个关于凭证和谷歌云存储的示例或好网站,它将非常有用

    错误

    Error: com.google.api.client.googleapis.extensions.appengine.auth.oauth2.AppIdentityCredential.(Ljava/util/Collection;)V
    
    我在API控制台上所做的:

    • 创建客户端id(web应用程序、服务帐户、已安装的应用程序)

    • 创建简单API访问(新服务器密钥、新浏览器密钥)

    我在本地机器上所做的

    • 使用gsutil设置ACL
    我的开发环境

    • eclipse 3.6 helios(日语包)

    • 用于eclipse的gae java

    • gae 1.8.0

    • java 1.6.31

    • 谷歌存储API

    • 谷歌客户端库

    • 其他(tomcat、maven)

    • windows 7英语和日语语言包

    你的第一次尝试(第一次)是专注于实现这一目标的最佳方式。提供的代码示例Marc使用内置的应用程序引擎应用程序标识模块安全地向其他Google API标识应用程序引擎应用程序:

    但是,有两个问题需要检查:

  • 应用程序标识模块将无法使用本地devserver工作。在本地运行时,本地服务器无法安全地向Google生产API标识自己-因此您应该考虑使用带有可下载密钥的服务帐户进行本地测试,或者,最简单的选择(我现在建议)是部署到生产应用程序引擎环境中进行测试

  • 确保App Engine服务帐户电子邮件地址已添加到您尝试访问的Google云存储桶的访问控制列表中。通过查看管理控制台下的(适用于您的应用程序引擎应用程序)->应用程序设置,获取此电子邮件地址:

  • 服务帐户名称: xxxxxxx@appspot.gserviceaccount.com

    要将其添加到Google云存储访问控制列表中,请将其添加到拥有Google云存储桶的项目的项目团队中,或者,如果未使用默认访问控制设置,请将其直接添加到ACL中:

    具有可下载密钥的服务帐户-如果无法在生产应用程序引擎环境中进行测试,请将此用于本地测试:

    您能发布完整的错误回溯吗?按照说明进行操作,它就起作用了。但我无法添加服务帐户名:xxxxxxx@appspot.gserviceaccount.com从web控制台。我的api控制台受限于我的域帐户。我使用gsutil添加它。谢谢你的建议。