使用java库访问谷歌云存储遇到“403禁止”

2024-03-28

我正在尝试在 scala 中使用谷歌云存储 java 库来列出存储桶中的项目

val credential = new GoogleCredential.Builder()
  .setTransport(GoogleNetHttpTransport.newTrustedTransport())
  .setJsonFactory(JacksonFactory.getDefaultInstance())
  .setServiceAccountId("[email protected] /cdn-cgi/l/email-protection")
  .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

然而我得到了

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

我的电子邮件帐户可以访问该存储桶,我也可以通过在我的帐户中创建一个项目来使用 gsutil 访问它。 我已经创建了[电子邮件受保护] /cdn-cgi/l/email-protection在我帐户的项目中,知道如何设置权限吗?


刚刚遇到同样的问题,并认为我们已经找到了解决方案。为了解决这个问题,我们尝试访问的 Google Play 开发者控制台的所有者必须将我们的服务帐户电子邮件地址添加到 Google Play 控制台权限列表中,并授予服务帐户财务报告权限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用java库访问谷歌云存储遇到“403禁止” 的相关文章

随机推荐

  • 在 awk match 函数的字符串参数中使用特殊字符。当前区域设置

    我在使用时遇到问题match函数于awk在包含特殊字符的字符串上 考虑文件test awk match 0 kon a print a 1 以及相应的测试文件 test txt 其内容为 Testing H kon 注意挪威语字符 该文件采
  • mysql 复制 - 一个数据库上的从服务器

    我找不到我的问题的答案 我有 2 台 mysql 服务器 主服务器 从服务器 现在我想添加另一个从服务器 但我有其他网站在该服务器上运行 我可以只复制一个数据库吗 是的你可以 如果你只想从master复制一个数据库 你可以设置replica
  • 如何将这些邮政编码导入到标准化表中?

    我有一个 CSV 其中包含一些数据 如下所示 A0A0A0 48 5674500000 54 8432250000 Gander NL A0A1A0 47 0073470000 52 9589210000 Aquaforte NL A0A1
  • Mac OSX 上 IntelliJ Idea 中区分大小写的文件

    我的java项目有名称相同但大小写不同的文件 Test java test java 我在 Mac 上设置了区分大小写的文件系统 并且能够通过 CLI 查看 编辑它们 但是 Intellij Idea 并不认为它们不同 编译失败 如何修复
  • 如何使用 SuperObject 序列化包含点(例如 IP 地址)的 JSON 密钥?

    我正在尝试保存 JSON 其中 IP 是关键 预期的 JSON 结果是 SnmpManagers 10 112 25 235 162 Delphi超级对象代码 const IpAddr 10 112 25 235 Port 162 var
  • 删除字符串时堆损坏

    这是我的代码 std string readString int strLen Read
  • 使用 Gradle 运行多个 Spring Boot 微服务

    我正在开发一个使用 Gradle 构建的 Spring Boot 应用程序 我们有多个微服务作为该应用程序的子项目 我正在尝试使用 Spring Boot 的 bootRun 任务从命令行使用单个 bootRun 命令运行应用程序和所有微服
  • Android 模拟器停止显示屏幕键盘?

    我在 eclipse 中使用 AVD 管理器 是否有一个设置可以用来在输入字段获得焦点时停止显示屏幕键盘 我尝试了硬件键盘 true 但模拟器似乎根本没有启动 S 姆斯托伊克的回答 https stackoverflow com a 541
  • 如何调试CompletableStage死锁?

    我最近遇到的最困难的调试问题是异步操作之间的死锁 例如 给定两个CompletionStage链 其中第一个链调用依赖于第二个链的完成的方法 第二个链调用依赖于第一个链的完成的方法 这在现实生活中并不那么明显 因为依赖关系往往是隐藏的 有时
  • OTRS:使用 wsdl 生成 Java SEI 时出错

    Windows 7 Java 7 OTRS appliannce 我正在尝试使用 wsimport 来生成带有 wsdl 文件的 Java SEIhttps raw githubusercontent com OTRS otrs maste
  • C 中 (*p)[8] 和 *p[8] 有什么区别?

    两个声明如下 int p 8 int p 8 第一个是single指向 8 个整数的数组的指针 而第二个是array8 个指针 每个指针指向一个整数 如果你只是踢起来cdecl 对于这类事情来说非常棒 pax cdecl Type help
  • 如何使用 laravel-mix 将 mdbootstrap vue 加载到 Laravel 5 中?

    我正在尝试将 mdbootstrap vue 安装到 Laravel 5 6 项目中 但我真的不明白我该怎么做 如果有人能给我一些教程 那就太好了 试试这个 已更新 假设你已经安装了laravel 转到您的项目目录并执行以下操作 npm i
  • 删除 Ember 数据中 POST/PUT 操作的 JSON 根元素

    我正在使用一个 Web 服务 该服务在 POST PUT 动词中需要如下所示的 JSON id CACTU companyName Cactus Comidas para llevar contactName Patricio Simpso
  • 字典中的差异

    我试图找出字典中的差异 是否添加或删除了某些内容以及从什么内容中添加或删除了某些内容 这是一个添加值的情况 original 0 None 1 False 2 16 new 0 None 1 False 2 2 16 difference
  • 从构建中获取 BuildAgent 信息

    我有一个 IBuildDetail 变量 其中包含我需要的构建信息 好的 但是当我检查属性 BuildAgent 时 它显示 build BuildAgent 抛出了类型为 System NotImplementedException 的异
  • Windows CMD 中的创建日期

    使用 Windows 批处理 此函数返回文件的创建日期 creationDate set CompareFile 1 echo CompareFile for f skip 5 tokens 1 2 4 5 delims a in dir
  • 如何获取内存中对象的数据集?

    有谁知道与泛型和 RTTI 一起使用的 TDataset 后代 以便我可以编写这样的代码 并在 GUI 中使用数据感知组件 ds TDataset
  • 如何使用 Clap Args 的内部库 Enum

    我目前正在研究一个铁锈端口 https github com JuxhinDB twistrs某证券的tool https github com elceef dnstwist 与 Rust 的指南一致 我想将核心库隔离到自己的包中 以便我
  • 如何以编程方式删除 Groovy 中的默认导入?

    默认情况下 一些包是在 Groovy 类中导入的 我知道您可以使用 ImportCustomizer 添加新的 但有没有一种方法可以以编程方式删除它们 预先感谢您的回答 不 如果你查看代码 你会发现标准进口 http groovy code
  • 使用java库访问谷歌云存储遇到“403禁止”

    我正在尝试在 scala 中使用谷歌云存储 java 库来列出存储桶中的项目 val credential new GoogleCredential Builder setTransport GoogleNetHttpTransport n