oauth2client.client.HttpAccessTokenRefreshError:invalid_grant:无效的 JWT

Tej*_*gde 3 oauth google-api raspberry-pi google-oauth google-cloud-vision

我在 Raspberry PI 上使用 Google Cloud Vision API。当我在我的家庭(首次访问云帐户的)网络上使用它时,它工作正常,但如果我从不同的网络访问 API,则会引发令牌刷新错误。我已经使用 NTP 同步时间,但没有帮助。

详细错误:

oauth2client.client.HttpAccessTokenRefreshError:invalid_grant:无效 JWT:令牌必须是短期令牌(60 分钟)并且在合理的时间范围内。检查您的 iat 和 exp 值,并使用有偏差的时钟来解释系统之间的时钟差异。

DaI*_*mTo 5

invalid_grant:无效的 JWT:令牌必须是短期令牌(60 分钟)且处于合理的时间范围内。

这是由于计算机时钟同步不良造成的,其中执行的代码有 5 分钟或更长时间的延迟。该错误意味着令牌无效,并且其无效是因为 PI 上的时间与实际时间不同。我知道您说您正在检查 NTP,但我建议您也检查时区。

我知道这是一个 PI,因此调试可能受到限制,但尝试输出您的 id 令牌并解密其 jwt,您应该能够看到 iat 和 exp 值。它可能会帮助您弄清楚它认为现在是什么时间。