我差不多完成了构建facebook应用程序。 它工作正常,但有一个问题。 如果用户第一次将应用程序添加到他的个人资料中(通过授予适当的权限),它可以正常工作。但是当用户从他的应用程序设置中删除该应用程序然后再次尝试添加该应用程序时,它将无法正常工作! 当我尝试执行user.hasAppPermission以检查用户是否已向应用程序授予适当权限时,该调用将抛出“无效的OAuth 2.0访问令牌”异常。我只是无知为什么会发生这种情况。我正在使用PHP-SDK for facebook。我要求的权限:“publish_stream”和“email”。 需要向右方向轻微推动。
感谢。
答案 0 :(得分:2)
也许你遇到这个因为当前的facebook bug:http://bugs.developers.facebook.net/show_bug.cgi?id=12707
答案 1 :(得分:0)
相同的facebook剧集,不同的一天。说真的,他们的API首先是一个雷区,支持是垃圾。
URL Linter不久前消失了,没有人注意或关心。
我现在遇到完全相同的问题,我在现有网站上尝试的每次登录都会因您描述的错误而失败。看起来上面的答案中给出的链接演示了一个错误,他们已经投入生产,现在拼命想要修复。
编辑:看了一下之后,这部剧可能与此有关(至少在我的情况下):
http://forum.developers.facebook.net/viewtopic.php?pid=273730
FB已经开始对他们的令牌进行URL编码,导致他们失败。说实话,这些家伙都没用。
答案 2 :(得分:0)
很高兴指出它 - 尽管 - 我第一次遇到考拉宝石的问题,并认为麻烦的根源是宝石。经过一些工作,我已经切换到FB_Graph Gem,只是为了发现同样的错误“Invalid Oauth Access Token”也在那里发生。
所以看起来重定向步骤和用户批准很顺利,也会返回令牌而不会出错。但是当使用令牌时,bug就会出现。
让我们希望他们能够快速解决问题。
编辑:似乎现在正在工作!答案 3 :(得分:0)
在一种情况下,“无效的身份验证令牌”仍然存在问题:您已在计算机上以用户X身份登录到FB并且您正在使用应用程序。然后你在同一台机器上从FB中取消了,记录为另一个用户,例如。用户Y并再次访问相同的应用程序。然后你当然得到这个消息。也许应该由应用程序开发人员完成某些事情,例如。应该添加一些清除令牌的代码行?