我在我的Rails項目中使用了google-api-client gem。我有omniauth和設計工作,我有用戶通過谷歌認證。Google API客戶端:令牌已被撤銷問題
直到最近,我還以爲自己這樣做很順利。我注意到,我的應用在一小時後提取Google Calendar API時會產生錯誤。到期是認證時間一小時,然後從我得到這個錯誤:
Signet::AuthorizationError (Authorization failed. Server message:
{
"error" : "invalid_grant",
"error_description" : "Token has been revoked."
}):
這是無效的刷新令牌分開,因爲我有存儲在數據庫中刷新令牌。它發送刷新令牌請求,其中馬刺上面的錯誤,使用此代碼:
client = Google::APIClient.new(
:application_name => APP_NAME,
:application_version => APP_VERSION,
)
client.authorization.client_id = CLIENT_ID
client.authorization.client_secret = CLIENT_SECRET
client.authorization.refresh_token = user.auth_refresh_token
token_result = client.authorization.fetch_access_token!
我一直很小心,不要登錄和註銷我的谷歌帳戶,所以我無法弄清楚,爲什麼谷歌會發回這條消息。如果55分鐘後刷新頁面,一切正常。如果我在1小時後刷新頁面,它會抱怨被取消的訪問令牌。
有沒有人有過這個問題?如果是這樣,你做了什麼來解決它?是不是在Google的開發人員控制檯中必須更改?
你有沒有解決這個問題?有相同的問題。 –
@mederomuraliev我說從我記得,當我解決了這個問題的答案。希望它有幫助。 – JakeLarson