我正在使用Javascript SDK,以便用户在我的网站上登录我的Facebook应用程序。我已根据文档在App Dashboard中编码和配置了所有内容,包括Javascript中的appId和channelUrl(现在是// localhost / WebPage)和App Domain(localhost),站点URL(http:/ / localhost / WebPage),用户&朋友权限,以及应用程序仪表板中的扩展权限。
当我使用开发者帐户(使用我的网站上的登录按钮)进行登录时,该应用程序拥有该应用程序,但在从Facebook的“我的应用程序”部分(在同一个Facebook帐户中)删除应用程序本身后,一切正常正确(登录按钮将我引导到新页面,要求登录,然后要求我允许我的应用程序所需的权限),这确认我的所有设置(和代码)似乎都配置正确。
同时,当我使用另一个帐户(显然不拥有该应用程序)时,我收到以下错误消息:“发生错误。请稍后重试。“尽管如此,在浏览器窗口中单击”确定“后,用户仍然会登录Facebook的主页(在同一个窗口中)。同时,用户没有登录到初始浏览器页面(我的网站)。令我更加困惑的是,当我刷新初始浏览器窗口(显然是在同一个浏览器应用程序中)时,用户仍未登录该页面(我的网站)上的Facebook。有人会认为应该正确设置cookie(对于该浏览器),浏览器应该访问它们,并将用户显示为登录我的网站。
有人知道发生了什么吗?
感谢您的时间。
此致
JF
答案 0 :(得分:2)
我打赌,@ ifaour的沙盒模式评论是正确答案。
虽然“发生错误。请稍后再试。”是一个非常通用的Facebook错误,最近Facebook的政策更改导致许多应用程序无声地切换到沙盒模式。
摘自here:
隐私政策提醒
不包含有效隐私权政策网址的应用(请参阅平台 策略II.3)在App Dashboard的专用字段中将看到警报 在应用程序仪表板和应用程序详细信息页面中。努力做到这一点 您更容易验证,我们将包含一个“隐私政策网址” 测试'链接,检查您的应用是否符合隐私政策网址 要求。如果您不遵守,您的应用可能会被放置在沙盒中 模式。您可以在符合隐私政策后禁用沙盒模式 网址要求。
由于检测到您的应用处于沙盒模式会变得更加困难,因为您必须点击“编辑”按钮才能选择切换其状态,这会加剧这一点。