我正在尝试使用Google云存储JSON API使用http调用从一个bucket中检索文件。
我在GCE中的一个容器中卷曲,与存储桶在同一个项目中,服务号具有对存储桶的读取访问权限
以下是请求的模式:
https://storage.googleapis.com/{bucket}/{object}
根据API控制台,我不需要任何特别的东西,因为服务帐户提供应用程序默认凭据。然而,我一直有这样的想法:
Anonymous caller does not have storage.objects.get
我还尝试为项目创建一个API密钥,并将其附加到url(https://storage.googleapis.com/{bucket}/{object}?key={key}
)但是我仍然得到了相同的401错误。
如何授权查询此API的请求?
您使用的URL不正确。API使用以https://www.googleapis.com/storage/v1/b
。
不建议使用API密钥。相反,您应该使用承载:令牌
。我将展示这两种方法。
要获取gCloud默认配置的访问令牌:
gcloud auth打印访问令牌
然后在curl
请求中使用令牌。用gcloud命令中的令牌替换令牌。
要列出存储桶,请执行以下操作:
curl -s -H "Authorization: Bearer TOKEN" https://www.googleapis.com/storage/v1/b
curl https://www.googleapis.com/storage/v1/b?key=APIKEY
要列出对象,请执行以下操作:
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参考:列出存储桶
我有一个具有统一访问控制的Google云存储桶,我在权限中添加了“诱惑者”。它说该对象是公共的,但当我尝试打开链接时,仍会收到此消息:“匿名调用方没有storage.objects.get access to the Google Cloud storage object”错误代码为“401”。我希望任何用户都能够访问该链接。我该怎么做?提前谢谢! 向你问好本
它产生了以下标题
我知道可以使用谷歌API视觉在网上找到类似的图片。我的目标是根据我的图像数据库找到类似的图像。我不想在网上看到类似的图片。 可能吗? 如果是,你能给我一些链接或建议吗? 谢谢
我创建了一个服务帐户,并为其分配了访问云功能的权限: gcloud beta函数add-iam-policy-binding MyFunction--member=serviceaccount:cf-access@my-project.iam.gserviceaccount.com--role=roles/cloudfunctions.admin 产出: 现在,我下载了服务帐户json文件。 所以
我正在尝试在Android设备上使用一个简单的电话差距应用程序。因此,我遵循了所有步骤,创建了一个项目,该应用程序成功地与GCM服务器通信,并使用我的项目编号获取注册ID。 问题是我不能从服务器端与GCM通信。我最初是在Perl中这样做的,但是即使是GCM文档中的curl example也返回“401”。 他们的API访问密钥被列入了白名单,我试着删除它并创建新的几次。甚至尝试使用浏览器密钥而不是