从 google 获取身份验证时授予无效仅发生在某些用户,但不是全部

Invalid grant while get authentication from google only happened some user, but not all

我正在尝试使用刷新令牌来请求新的访问令牌

我的代码:

def google_client
return nil if self.refresh_token.blank?
Google::Apis::ClientOptions.default.application_name = "Qontak Development"
Google::Apis::ClientOptions.default.application_version = "1.0"
Google::Apis::RequestOptions.default.retries = 3

client = Signet::OAuth2::Client.new(
  token_credential_uri: 'https://www.googleapis.com/oauth2/v3/token',
  client_id: ENV["GOOGLE_CLIENT_ID"],
  client_secret: ENV["GOOGLE_CLIENT_SECRET"],
  refresh_token: self.refresh_token,
  grant_type: 'refresh_token'
)
client end 

但是我得到这样的错误: {"error": "invalid_grant", "error_description": "Bad Request"}

我想知道为什么有些用户会这样?其余的还好吗?我已经尝试了几种解决方案,包括 运行 这个命令 sudo ntpdate ntp.ubuntu.com 就像 https://github.com/google/google-api-ruby-client/issues/84 中有人建议的那样,但仍然给我同样的错误,任何帮助将不胜感激,谢谢

{"error": "invalid_grant", "error_description": "Bad Request"}

通常表示您用来刷新访问令牌的客户端 ID 和密码。不是用于创建您正在使用的刷新令牌的那个。是否有可能您创建了一个新的客户端 ID 而一些用户正在使用旧的?

尝试再次验证并获取新的刷新令牌。