Javascript FB.getLoginStatus始终返回status=';未知';

Javascript FB.getLoginStatus始终返回status=';未知';,javascript,facebook-javascript-sdk,facebook-login,Javascript,Facebook Javascript Sdk,Facebook Login,如果我登录到facebook.com,我希望对FB.getLoginStatus的呼叫将返回一个状态class='not_authorized'。相反,它返回status='unknown',即使我为'force'参数传递true 如果我调用FB.login,然后调用FB.getLoginStatus,我会得到status='connected'。有道理 如果我调用FB.login,重新加载页面,然后调用FB.getLoginStatus,我会得到status='unknown'。没有道理。如果

如果我登录到facebook.com,我希望对FB.getLoginStatus的呼叫将返回一个状态class='not_authorized'。相反,它返回status='unknown',即使我为'force'参数传递true

如果我调用FB.login,然后调用FB.getLoginStatus,我会得到status='connected'。有道理

如果我调用FB.login,重新加载页面,然后调用FB.getLoginStatus,我会得到status='unknown'。没有道理。如果我添加'true'作为第二个参数(即force),我仍然会得到status='unknown'。(在这种情况下,我希望状态为“未授权”。)

在实践中,似乎没有一种方法可以让身份class='not_authorized'

我做错什么了吗?这是FB.getLoginStatus或其文档中的错误吗

这是一个最小的测试页面:

背景:


我正在编写一个网站小部件,用于显示公共Facebook页面的帖子。(无需通过应用程序访问令牌提示用户即可访问。)每篇文章都有一个“喜欢”/“不喜欢”链接。为了确定是否显示“喜欢”或“不喜欢”,我需要知道浏览用户的Facebook ID是什么,这样我就可以检查它是否在帖子的喜欢列表中。

也许你禁用了第三方cookies。

为了详细说明David的答案,Facebook将其描述为“禁用第三方Cookie时的结果


不幸的是,我不确定最优雅的处理方式——至少在我的网站上,我需要一个宣誓令牌来加载一些数据。

我也有类似的问题,即使第三方cookie没有被禁用。我绕过的是:如果我得到“未知”响应,我将调用FB.login,并在该响应中再次调用FB.loginStatus。这一次,FB返回了正确的值