我们正在使用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打印的响应,但没有看到任何错误消息。是否有关于在一定时间内再次运行身份验证的规则?我没有在文档中看到任何有关此内容的内容。
有没有人碰到这个?我一直在寻找,但没有发现提到这个具体问题。
答案 0 :(得分:0)
似乎Facebook对重复请求有一些限制。等待几个小时并关闭并重新打开浏览器后,成功调用了回调。