对硬盘驱动器进行映像后 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 在设置访问密钥到期时间时没有注意到这一点。
很失望地发现这是问题所在,但很高兴它现在已经解决了。
有一个相当奇怪的问题 - 在 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 在设置访问密钥到期时间时没有注意到这一点。
很失望地发现这是问题所在,但很高兴它现在已经解决了。