FbGraph не может обновить статус - PullRequest
0 голосов
/ 26 февраля 2012

Я написал приложение на Rails.Я использовал omniauth для аутентификации.session.rb

auth = request.env["omniauth.auth"]
    user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth)
    session[:user_id] = user.id

Кажется, все тоже нормально, но когда я хочу изменить свой статус на Facebook, fbgraph не может этого сделать.Я написал этот код

provider = User.find_by_provider_and_name('facebook', current_user.name)
          @facebook = FbGraph::User.me(provider.token)
          @facebook.feed!("loanminder-test-message-#{Time.now.utc}")

И исключение выглядит так:

FbGraph :: InvalidToken в LoansController # show

OAuthException :: Ошибка проверки токена доступа:Сеанс не соответствует текущему сохраненному сеансу.Это может быть связано с тем, что пользователь изменил пароль с момента создания сеанса или Facebook изменил сеанс по соображениям безопасности.

Как я могу решить проблему, как я могу изменить свой статус через Rails

1 Ответ

2 голосов
/ 26 февраля 2012

Ваш сохраненный токен больше не принимается. Вам нужно будет снова предложить пользователю войти в систему и использовать новый токен доступа или использовать следующий токен

app_id|secret

где, если ваш идентификатор приложения 942523352 и ваш секретный ключ bc76876876f67676ae0, тогда вы получаете токен

942523352|bc76876876f67676ae0

...