Facebook 测试应用程序停止工作,生产应用程序工作正常(使用 JS SDK)

Facebook test app stopped working, production app works fine (using JS SDK)

我有一个 FB 应用程序,我的网站将其用于 FB 登录按钮。这个应用程序已经 public 有一段时间了,并且在生产中运行良好。我为我的开发环境创建了一个测试应用程序,这也一直 工作正常,直到上周 ,当我突然开始在浏览器控制台中看到这条消息时:

Application Error: There was a problem getting data for the application you requested. The application may not be valid, or there may be a temporary glitch. Please try again later.

这发生在我调用 FB.init() 之后——调用 FB.getLoginStatus() 会触发此错误,并且永远不会调用传递给 FB.getLoginStatus() 的回调。同样,这只发生在我的开发环境中,而不是生产环境中,尽管 XFBML 按钮仍然会触发弹出窗口。

copied the basic SDK code from FB's documentation,把它放在自己的页面上,但仍然有这个问题,所以不是我网站页面上的东西在干扰。

我尝试搜索 SO/Google 寻找答案,但我得到的唯一真实信息是 2011 年 12 月 13 日,涉及的 FB 应用程序处于开发模式;我的不是,是 public。我已经尝试创建一个新的测试应用程序并更改我的网站使用的 FB ID,但我得到了相同的结果。

最近对我的(所有)环境所做的唯一更改是它们都默认使用 SSL。这可能是原因吗?如果是这样,为什么它可以在我的生产环境中工作,但不能在我的开发环境中工作?非常感谢任何见解。

编辑:使用 SDK v2.4,如果重要的话。

编辑 2:这似乎只有在用户未登录 FB 根本 时才会发生。如果他们已经从外部登录,SDK 似乎可以识别并且对 FB.getLoginStatus() 的调用工作正常。

看起来这是一个 Facebook 错误:https://developers.facebook.com/bugs/252572561775079/

检查您的 Facebook 应用是否 "live and available to all users" 而不是开发模式,否则您会收到此错误。

前往 https://developers.facebook.com/apps/ > 打开您的应用 > 应用审核 > "Make [App Name] public?" > 是