我已经在我的 Gmail 帐户上激活了 Google Cloud Storage,然后创建了一个新项目。据我所知,并阅读教程 ( https://developers.google.com/storage/docs/json_api/v1/json-api-java-samples ),客户端 secret (client_secrets.json) 与项目相关,与我的帐户无关。
现在,在使用 Java API 时,有一种方法可以接收桶列表,
https://developers.google.com/storage/docs/json_api/v1/buckets/list
虽然它要求我输入项目标识符作为参数。
我检查了 API 文档、下载客户端 secret 文件 (client_secrets.json) 和 Java 方法,但没有提供与经过身份验证的客户端 secret 项目相关的“项目标识符”。
有什么方法可以查明我在哪个项目上进行了主动身份验证?我不希望程序用户每次在 Java 程序中进行身份验证时都记住每个项目的标识符。客户端 secret 文件已与单个项目相关。
额外信息:
目前我开发了一个 GUI Java 应用程序。
通过使用打开文件对话框,用户选择下载的“client_secrets.json”文件。
然后我使用该示例提供的“授权”方法来获取 Credentials
和 Storage
对象。
在此之后,我想以编程方式列出当前项目中可用的所有存储桶。 (当前项目 = client_secrets.json 从特定项目下载。)。但是 API 要求我输入似乎无法以编程方式获取的项目名称。
最佳答案
运行
gsutil ls -L -b gs://<bucket-name>
要获取存储桶信息,您可以从输出中找到项目编号。然后你就可以跑了
gcloud projects list --filter "PROJECT_NUMBER=<project-number>"
找出项目 ID。
关于java - 如何在 Google Cloud Storage 中获取项目 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24682180/