gpt4 book ai didi

python - 使用云存储时在 dev_appserver 上获取访问 token RefreshError 'invalid_grant'

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:04 26 4
gpt4 key购买 nike

尝试 Google Cloud Storage sample 时(或在其他项目中使用 cloudstorage 模块写入文件的任何调用)我收到以下错误

INFO     2016-12-05 01:16:06,999 client.py:804] Refreshing access_token
INFO 2016-12-05 01:16:07,198 client.py:827] Failed to retrieve access token: {
"error" : "invalid_grant"
}
ERROR 2016-12-05 01:16:07,200 api_server.py:272] Exception while handling service_name: "app_identity_service"
method: "GetAccessToken"
request: "\n7https://www.googleapis.com/auth/devstorage.full_control"
request_id: "YpfXhQJczA"

... long long stack traces ...

RuntimeError: AccessTokenRefreshError(u'invalid_grant',)

问题是,当我将应用程序部署到 Google App Engine 时,调用工作正常。

最佳答案

我花了几个小时搜索和调试客户端代码,直到我发现 oauth2client 使用了一些 default application credentials存储在文件系统的某个地方。这些凭据似乎是以前版本的 GAE SDK 遗留下来的,其中包含一个被 Google 拒绝的旧刷新 token 。

在 Windows 上,这些凭据存储在

C:\Users\$USER\AppData\Roaming\gcloud\application_default_credentials.json

重新创建这些凭据的简单方法是使用 gcloud 工具:

$ gcloud auth application-default login

(请注意,gcloud auth login 仅为使用 gcloud 实用程序本身设置凭据,而不是为调用 Google 客户端库的应用程序设置凭据,因此不是必需的在这里)。

希望这可以为其他人节省几个小时。

关于python - 使用云存储时在 dev_appserver 上获取访问 token RefreshError 'invalid_grant',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40975918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com