成功运行一次后,Facebook身份验证将返回invalid_request

时间:2012-08-24 21:16:16

标签: facebook oauth scribe

我们正在使用scribe在Facebook上进行身份验证。以下代码段获取我们调用的网址。

Token           requestToken = null;

service = new ServiceBuilder().provider(FacebookApi.class).apiKey(appToken)
                .apiSecret(appSecret)
                .scope("email")
                .callback(callBackUrl)
                .build();
  // send in a null request token for facebook
  authUrl = service.getAuthorizationUrl(requestToken);

这将返回此类型的网址: https://www.facebook.com/dialog/oauth?client_id=xxx&redirect_uri=yyy&scope=email

此网址已成功发布一次,并且控件使用参数:code返回到回调uri。回调uri完成了一些工作,整个过程重复进行。但是在第一次运行之后,不再调用回调uri。而是显示以下错误:

抱歉,您的请求无法处理。 请再试一次

成功和失败的运行之间的请求参数没有变化。唯一的变化是在回调uri中运行的代码,这在这里无关紧要。

是什么让它只运行一次而不是再次运作?有没有办法弄清楚实际问题是什么?尝试查看invalid_request.php打印的响应,但没有看到任何错误消息。是否有关于在一定时间内再次运行身份验证的规则?我没有在文档中看到任何有关此内容的内容。

有没有人碰到这个?我一直在寻找,但没有发现提到这个具体问题。

1 个答案:

答案 0 :(得分:0)

似乎Facebook对重复请求有一些限制。等待几个小时并关闭并重新打开浏览器后,成功调用了回调。