1

我们的桌面应用程序使用桌面应用程序工作流程与 Facebook 集成,大约需要 10 分钟。18个月一直工作没有任何问题。但是,我们开始收到一些用户的报告,称他们无法通过登录过程。

当登录成功时,Facebook 应该将 access_token 附加到 redirect_uri。我们的应用程序检测到这一点并将用户移动到我们 Facebook 集成的主要部分。在某些情况下似乎发生的情况是缺少 access_token 参数,这导致我们的应用程序使我们的嵌入式浏览器窗口保持打开状态,并显示来自 Facebook 的以下消息:
“成功
安全警告:请将上面的 URL 视为您的密码并执行不与任何人分享。”

奇怪的是,并非所有 Facebook 帐户都会出现这种情况,而且出现这种情况的 Facebook 帐户似乎正在发生变化。例如,我们有一份关于这个大约的报告。1 周前,但无法使用我自己的 Facebook 帐户或同事的 Facebook 帐户复制它。今天,我仍然无法用我自己的 Facebook 帐户复制它,但我的同事现在遇到了问题。

我们的代码发送给 Facebook 的 URL 是: https ://graph.facebook.com/oauth/authorize?client_id=xxxx&redirect_uri=http://www.facebook.com/connect/login_success.html&type=user_agent&display=popup&scope=read_friendlists,user_photos ,friends_photos,user_photo_video_tags,friends_photo_video_tags,user_events,friends_events,user_groups,friends_groups

阅读最新的 API 文档,他们似乎推荐了一种不同的连接方式,我们也尝试过: https ://www.facebook.com/dialog/oauth?client_id=xxxx&redirect_uri=http://www.facebook.com/connect /login_success.html&scope=read_friendlists,user_photos,friends_photos,user_photo_video_tags,friends_photo_video_tags,user_events,friends_events,user_groups,friends_groups&response_type=token


为了排除我们的应用程序的原因,我们直接在 Web 浏览器中尝试了这些 URL。我们发现,当使用我的 Facebook 帐户时,浏览器会重定向到包含 access_token 参数的成功 URL,但是当使用我同事的帐户时,浏览器会重定向到包含 access_token 的成功 URL,然后立即再次重定向到没有 access_token 的成功 URL。


所以...据我们所知,这是:
a)我们无法在任何地方找到记录的 API 更改
b)Facebook 中的错误
c)现在由用户的 Facebook 安全设置控制的东西


有没有人可以解释为什么 Facebook 对不同帐户的行为不同,以及我们如何解决这个问题?


谢谢。
凯文。

4

1 回答 1

0

我的桌面应用程序也有同样的问题。我只是通过仔细阅读 ht*ps://developers.facebook.com/docs/howtos/login/login-for-desktop/ 来解决它。解决方案是将 redirect_uri 从 ht*p://www.facebook.com/... 更改为 ht*ps://www.facebook.com/...

希望这会像它帮助我一样帮助你

注意:

将 ht*p 更改为 http 抱歉,我必须将 http 更改为 ht*p 以便我可以发布答案。

于 2013-04-17T15:49:36.630 回答