(#803)您请求的某些别名不存在:access_token“,”type“:”OAuthException“

时间:2011-09-19 11:27:41

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

我正在尝试使用基于rails 2.3的Web应用程序中的facebook图形API获取访问令牌。我发送的请求是:

https://graph.facebook.com/oauth/access_token?client_id=<client_id>
&redirect_uri=http://localhost:3001/facebook_callback
&client_secret=<client_secret>
&code=AQBgog2NvoUYQCXsa2bGpj--s9RD71F3zTKX344cUZ-
AWX4CNhdx3Yerl_wmzQkQ4zIUFVS_CRoN0zXaEW63dHcC9sH6_
vl7ljSxwA6TLSrkWVcfdfdrmwBTlMNIzyJr0h6irGW1LCdTw8
Racgd8MQ9RgVn1gFL26epWA

它正在重定向到

http://localhost/facebook_callback?code=AQBgog2NvoUYQCXsa2bGpj--
s9RD71F3zTKX344cUZ AWX4CNhdx3Yerl_wmzQkQ4zIUFVS_CRoN0mAB_Sr1H4K
dXIlzXaEW63dHcC9sH6_vl7ljSxwA6TLSrkWVcfdfdrmwBTlMNIzyJr0h6irG
SxsrRAXtdviNsBTMW1LCdTw8Racgd8MQ9RgVn1gFL26epWA

我在开发和生产环境中都遇到了错误。我无法获得访问令牌。还有其他人面临这个问题吗?

2 个答案:

答案 0 :(得分:0)

这看起来是正确的 - Facebook使用code =参数重定向到您的重定向网址。然后,您需要将代码交换为访问令牌。见这里:http://developers.facebook.com/docs/authentication/

编辑:我的不好,我误读了第一部分。您有时可能会将localhost用作重定向。您是否在非测试环境中使用没有端口的实时域名?

答案 1 :(得分:0)

好吧,我找到了解决问题的方法:

问题出在我用于access_token请求的路径上。我在路径和宾果游戏前面放了一条斜线。它就像一个魅力。

所以而不是

oauth/access_token?client_id=#{ @client_id }&redirect_uri=#{ @redirect_uri }&client_secret=#{ @client_secret }&code=#{ code }"

我们只需要使用

/oauth/access_token?client_id=#{ @client_id }&redirect_uri=#{ @redirect_uri }&client_secret=#{ @client_secret }&code=#{ code }".

感谢所有人的努力。