【发布时间】:2016-02-04 02:39:26
【问题描述】:
我想通过我的脚本访问 Google Cloud Storage,并且需要自动进行身份验证。默认情况下,gsutil config 要求打开链接并输入生成的代码,然后将 OAuth 令牌写入 .boto 文件。
Google Cloud 还支持在“凭据”页面中创建 OAuth 2.0 客户端 ID,但我无法理解如何将这些凭据(client_id 和 client_secret)插入到我的 .boto 文件中:
{"已安装":{"client_id":"677005197220-eim3l5of3m16225qr0m9vquocj6mugt4.apps.googleusercontent.com","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://accounts.google.com/o/oauth2/token","auth_provider_x509_cert_url":" https://www.googleapis.com/oauth2/v1/certs","client_secret":"pFghf5URxxxBFVRsQ1elWbbZ","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}
(请不要尝试使用它,因为我稍微修改了代码)
我以这种方式将它们插入到 .boto 文件中:
[OAuth2]
client_id ="677005197220-eim3l5of3m16225qr0m9vquocj6mugt4.apps.googleusercontent.com" client_secret ="pFghf5URxxxBFVRsQ1elWbbZ" provider_label = 谷歌 provider_authorization_uri = https://accounts.google.com/o/oauth2/auth provider_token_uri = https://accounts.google.com/o/oauth2/token
这就是 gsutil 失败的原因:
# gsutil ls gs://mybucket/ 您正在尝试访问未配置的受保护数据 证书。请访问https://cloud.google.com/console#/project 并注册一个帐户,然后运行“gsutil config”命令 配置 gsutil 以使用这些凭据。
如果我运行 gsutil config,我可以配置凭据,然后它就可以工作,但我需要使用我的客户端 ID 和客户端密码。 有人可以建议如何使 gsutil 与带有 client_id 和 client_secret 的 .boto 一起使用吗?谢谢
【问题讨论】:
标签: oauth oauth-2.0 google-cloud-storage boto gsutil