FbGraph无法更新状态

时间:2012-02-26 09:21:33

标签: ruby-on-rails facebook-graph-api omniauth

我写了一个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

一切似乎都很正常,但是当我想改变我的脸书状态时,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}")

异常就是那样

  

LoansController中的FbGraph :: InvalidToken #show

     

OAuthException ::验证访问令牌时出错:会话没有   匹配当前存储的会话。这可能是因为用户改变了   自会话创建或Facebook拥有以来的密码   出于安全原因改变了会话。

如何解决问题,如何通过Rails更改状态?

1 个答案:

答案 0 :(得分:2)

您的存储令牌不再被接受。您需要提示用户再次登录并使用新的访问令牌,或使用以下令牌

app_id|secret

如果你的应用ID是942523352而你的秘密是bc76876876f67676ae,那么你访问令牌是

942523352|bc76876876f67676ae0