java - 错误 403 禁止访问(权限不足)与 Google Cloud Storage JSON API Java 示例

标签 java google-bigquery google-oauth google-cloud-storage google-cloud-datastore

我正在尝试 this example来自 Google,展示了“如何使用 Google APIs Client Library for Java 向 Google Cloud Storage JSON API 发送请求”,其中列出了一个桶的内容。唯一的区别是我在 Linux 上使用 Eclipse(与 Maven)而不是直接使用 Maven。我不断收到以下错误消息,由 Bucket bucket = getBucket.execute(); 行生成:

403 Forbidden { "code" : 403, "errors" : [ { "domain" : "global", "message" : "Insufficient Permission", "reason" : "insufficientPermissions" } ], "message" : "Insufficient Permission" }

但是,我对该项目具有读/写访问权限,我能够通过开发人员控制台检查存储桶,并且我能够通过 Java API 访问 BigQuery(尽管我在那里也遇到了一些奇怪的行为,如有必要,我可以详细说明)。我的最终目标是编写一个脚本,每天将新的 Datastore 备份加载到 BigQuery 中。

任何人都可以确认来自 Google 的示例对他们有用吗?

编辑:我应该补充一点,我在使用“APIs exporer”时没有遇到任何问题 here .

最佳答案

我们最终设法解决了这个问题,方法是做两件事:物理删除访问 token (让它由代码重新创建)和“清理”Eclipse 中的项目。不确定两者中哪一个更重要。仅迈出第一步是不够的,但它确实产生了影响:现在我被要求在浏览器中一遍又一遍地授予权限,这在以前是不会发生的。

我唯一的解释是访问 token 包含导致身份验证失败的过时信息,但我不确定这是否可能。 (如果是这样,这听起来像是一个错误。)

关于java - 错误 403 禁止访问(权限不足)与 Google Cloud Storage JSON API Java 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32244360/

相关文章:

google-analytics - 如何将Google Analytics(分析)数据导出到Google GCS存储桶或BigQuery?

google-bigquery - 如何根据IP地址控制对BigQuery的访问?

android - API 控制台数据已损坏。无法为特定包和生产 key 重新创建客户端 ID

java - 从 Python 调用 .jar 文件

java - Tomcat session cookie 不会过期

Java:寻找 hack 来处理 Linux 中的 Windows 文件路径

python - 我可以使用什么 Python API 来计算 BigQuery 查询的成本?

java - 键绑定(bind)不起作用

java - 在 Java 中创建 JSON Web token

java - 401 Unauthorized exception from Google Drive Service account authentication