2014-09-23 4 views
0

Я получаю «GooglePlus :: RequestError: Invalid Credentials» с gogle google plus rails.GooglePlus :: RequestError: недопустимые учетные данные

Не могу понять, с каких пор, когда я использую его для входа в систему, он работает нормально, но Im также использует учетные данные, полученные для отображения информации о пользователе, а затем, даже если он работает временно, через день или два Я получаю эту ошибку:

'GooglePlus :: RequestError: недействительны'

Мой помощник код:

def google_friends(user) 
    auth = user.social_auths.where(provider: 'google').first 

    if auth 
     begin 
     GooglePlus.api_key = ENV['GOOGLE_KEY'] 
     client = GooglePlus::Person.get(auth.uid, :access_token => auth.token) 
     client.emails.first["value"] 
     rescue 
     '' 
     end 
    else 
     '' 
    end 
end 

Спасибо заранее.

+0

Какие области вы запрашиваете при входе в систему? – DaImTo

+0

Нет ... Я храню uid и токен и использую его позже, чтобы получить самую последнюю информацию о социальной ... – Hamdan

+0

acccess tokens истекает через 1 час, вам нужно использовать refreshtoken, чтобы получить новый. – DaImTo

ответ

0

Вы должны указать access_type = offline при авторизации. А также вам нужно использовать refreshtoken для обновления, чтобы получить новый токен доступа для вашей операции. У токена доступа время истечения срока действия. Поэтому, если вы хотите использовать токен acess, вам нужно его обновить. В противном случае это будет недействительным токеном после истечения срока действия.