对硬盘驱动器进行映像后 Windows 上的 gsutil 错误 "failure: invalid grant"

gsutil error "failure: invalid grant" on Windows after imaging hard drive

有一个相当奇怪的问题 - 在 Windows 8.1 上安装了 Python 2.7.10 的 gsutil 的活动(和工作)硬盘驱动器映像,将其重新启动到相同的机器,现在每次我尝试使用 gsutil 运行 命令时,我都会收到错误 "Failure: 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 密钥文件,但仍然没有成功。

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

问题解决了!

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

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