尝试在java spring boot中从BQ运行查询时获取无效的授予错误:
{
"error" : "invalid_grant",
"error_description" : "Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use a clock with skew to account for clock differences between systems."
}
有什么建议吗?
答案 0 :(得分:0)
根据显示的错误消息(Invalid JWT: Token must be a short-lived token...
),问题可能是机器运行时代码的系统时钟不正确。
我找到了几个Stack Overflow问题(此BigQuery one,此Google API other或此Google Cloud Client API question)。他们都同意(并且已经解决)问题在于同步运行代码的机器/服务器/设备的系统时钟。
OAuth2令牌必须是短暂的,如错误消息中所示,如果未运行代码运行的系统时钟,则会出现此类错误。所以请仔细检查一下,如果这可能是你的问题,因为它看起来是最合理的失败原因。