首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确授权Google Cloud Storage API请求?

如何正确授权Google Cloud Storage API请求?
EN

Stack Overflow用户
提问于 2018-11-04 05:53:11
回答 2查看 2.5K关注 0票数 5

我正在尝试使用Google Cloud Storage JSON API通过http调用从存储桶中检索文件。

我从GCE中与存储存储桶相同的项目中的Container中进行冰壶操作,并且服务帐户对存储桶具有读取访问权限

以下是请求的模式:

代码语言:javascript
运行
复制
https://storage.googleapis.com/{bucket}/{object}

根据API控制台,我不需要任何特定的东西,因为服务帐户提供应用程序默认凭据。然而,我一直有这样的想法:

代码语言:javascript
运行
复制
Anonymous caller does not have storage.objects.get

我还试图为项目创建一个API键,并将其附加到url (https://storage.googleapis.com/{bucket}/{object}?key={key})中,但我仍然得到相同的401错误。

如何授权查询此接口的请求?

EN

回答 2

Stack Overflow用户

发布于 2018-11-05 11:59:00

您使用的URL不正确。API使用以https://www.googleapis.com/storage/v1/b开头的URL。

不推荐使用API密钥。相反,您应该使用Bearer: token。我将展示这两种方法。

要获取gcloud默认配置的访问令牌:

gcloud auth print-access-token

然后在您的curl请求中使用令牌。使用gcloud命令中的令牌替换TOKEN。

要列出存储桶,请执行以下操作:

代码语言:javascript
运行
复制
curl -s -H "Authorization: Bearer TOKEN" https://www.googleapis.com/storage/v1/b

curl https://www.googleapis.com/storage/v1/b?key=APIKEY

列出对象的步骤:

代码语言:javascript
运行
复制
curl -s -H "Authorization: Bearer TOKEN" https://www.googleapis.com/storage/v1/b/examplebucket/o

curl https://www.googleapis.com/storage/v1/b/examplebucket/o?key=APIKEY

API Reference: List Buckets

票数 2
EN

Stack Overflow用户

发布于 2018-11-06 01:22:01

如果你能够创建另一个集群,你可以像这样获得权限:点击“高级编辑”

下一步点击“允许所有云API的完全访问”

就是这样:D

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

https://stackoverflow.com/questions/53135841

复制
相关文章

相似问题

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