[英]List all buckets under a project from the google storage using Storage JSON API in Python
我指的是下面的链接,在下面的链接中,我粘贴了代码的副本。 https://developers.google.com/apis-explorer/?hl=zh_CN#p/storage/v1/storage.buckets.list
import requests
response = requests.get('https://www.googleapis.com/storage/v1/b?project=
{YOUR_PROJECT_NAME}&key={YOUR_API_KEY}')
print(response.json())
当我尝试访问它时,出现以下错误
{'error': {'errors': [{'domain': 'global', 'reason': 'required', 'message': 'Anonymous users does not have storage.buckets.list access to project 72
8242242638.', 'locationType': 'header', 'location': 'Authorization'}], 'code': 401, 'message': 'Anonymous users does not have storage.buckets.list a
ccess to project 728242242638.'}}
我缺少哪一部分?
您缺少身份验证。 API密钥可识别项目,但不提供任何身份验证。 Google并不知道您确实是允许查看访问令牌的用户。
如果您希望命令真正快速gcloud
并且已安装gcloud
SDK,请运行gcloud auth print-access-token
。 那会给你一个像ya29.blibbity_blabbity的字符串。 将标头附加到您的请求中,显示为Authorization: Bearer ya29.blibbity_blabbity
,您的请求应该会成功。
访问令牌只能使用5分钟左右,并且您不应该将它们硬编码到代码中。 您将需要一个更永久的解决方案。 最简单的方法是只使用更高级别的Google Cloud库,例如google-cloud ,但是如果您想继续直接使用请求,则首先要了解更多Google Cloud身份验证的详细信息。 从这里开始: https : //cloud.google.com/docs/authentication
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.