有一个相当奇怪的问题 - 想象一个在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密钥文件,但仍未成功。
有什么建议吗?希望有人在这里遇到同样的问题,并找到了解决方案。谢谢!
答案 0 :(得分:1)
解决了问题!
关闭机器上的系统时钟(将来几天),显然,gsutil在设置访问密钥到期时间时并未注意到这一点。
非常令人失望地发现这是问题,但很高兴它现在已经解决了。