gsutil错误"失败:无效授权"在成像硬盘后的Windows上

时间:2015-10-20 17:01:56

标签: oauth-2.0 google-cloud-storage google-cloud-platform gsutil

有一个相当奇怪的问题 - 想象一个在Windows 8.1上安装了带有Python 2.7.10的gsutil的硬盘驱动器,在同一台机器上启动它,现在每次我尝试运行使用gsutil的命令,我收到错误"失败:invalid_grant"。

这里是错误的全文:

C:\Windows\system32>c:\Python27\python.exe c:\gsutil\gsutil ls gs://twinpreviews

INFO 1021 00:52:48.415000 multistore_file.py] Error decoding credential, skippin
g
Traceback (most recent call last):
  File "c:\gsutil\third_party\oauth2client\oauth2client\multistore_file.py", lin
e 381, in _refresh_data_cache
    (key, credential) = self._decode_credential_from_json(cred_entry)
  File "c:\gsutil\third_party\oauth2client\oauth2client\multistore_file.py", lin
e 400, in _decode_credential_from_json
    credential = Credentials.new_from_json(json.dumps(cred_entry['credential']))

  File "c:\gsutil\third_party\oauth2client\oauth2client\client.py", line 292, in
 new_from_json
    return from_json(s)
  File "c:\gsutil\third_party\gcs-oauth2-boto-plugin\gcs_oauth2_boto_plugin\oaut
h2_client.py", line 465, in from_json
    data['token_expiry'], EXPIRY_FORMAT)
TypeError: must be string, not None
Failure: invalid_grant.

我尝试多次重新运行配置 - 请注意,此错误仅保留在服务帐户中,如果我使用基于浏览器的身份验证,则不会发生此错误。

我还尝试删除主目录中的.boto文件以及我的主目录中的.gsutil文件夹,然后多次重新运行gsutil config -e无效。

我还创建了一组新的凭据并尝试了一个新的.json密钥文件,但仍未成功。

有什么建议吗?希望有人在这里遇到同样的问题,并找到了解决方案。谢谢!

1 个答案:

答案 0 :(得分:1)

解决了问题!

关闭机器上的系统时钟(将来几天),显然,gsutil在设置访问密钥到期时间时并未注意到这一点。

非常令人失望地发现这是问题,但很高兴它现在已经解决了。