0

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

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);

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

此 url 已成功发布一次,并将控制返回到带有参数的回调 uri:代码。回调 uri 完成了一些工作,并重复了整个过程。但是在第一次运行之后,回调 uri 不再被调用。相反,会显示以下错误:

对不起,我们无法处理你的请求。请再试一次

成功和失败运行之间的请求参数没有变化。唯一的更改是对回调 uri 中运行的代码进行了更改,这在此处应该无关紧要。

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

有没有人遇到过这个?我一直在搜索,但没有发现提到这个具体问题。

4

1 回答 1

0

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

于 2012-08-25T15:37:44.713 回答