FbGraph OAuthException无效的OAuth访问令牌

时间:2013-05-23 00:32:00

标签: ruby-on-rails facebook facebook-graph-api oauth-2.0 fb-graph

我在我的Ruby on Rails应用程序中使用FbGraph以及Omniauth。我使用服务器端方法为用户获取长期(60天)访问令牌,然后将其存储在会话变量中。尝试使用以下代码访问API时:

token = session[:facebook_token]

user = FbGraph::User.me(token)
user = user.fetch

我得到OAuthException :: Invalid OAuth access token。但是,当我添加puts token并将打印的令牌复制到Facebook Graph API Explorer(在线工具)时,我没有任何问题,并且令牌被报告为有效...我甚至可以通过FbGraph使API调用失败。

我正在使用JavaScript SDK中的短期令牌(2小时),并且相同的代码工作正常,所以关于转移到长期令牌的一些事情是搞砸了一切。

1 个答案:

答案 0 :(得分:0)

您如何设置session[:facebook_token]?这听起来像是字符编码问题,甚至可能只是额外的空格。

为什么不试试user = FbGraph::User.me(token.strip)

此外,您可以像下面这样更新(扩展)访问令牌:https://github.com/nov/fb_graph#extend-access-token-lifetime