有没有办法,使用新的Facebook API,检测用户是否登录Facebook,与Facebook应用程序没有任何关系?这应该都是在网站页面上的客户端javascript中完成的。
更详细: 根据facebook文档,如果“用户已登录并连接到您的应用程序”,getLoginStatus将检测用户是否已登录。另一方面,如果“用户未登录Facebook或未授权您的应用程序。”它将报告用户已注销。
对我而言,这意味着getLoginStatus在用户第一次使用您的应用程序时永远不会工作,因为任何用户第一次使用您的应用程序时,他/她都没有授予您的应用程序任何权限。
此外,如果用户已登录,用户必须授予应用以使getLoginStatus正常工作的特定权限?我已经检查了这个权限列表(在Facebook API文档上):
http://developers.facebook.com/docs/authentication/permissions/
并且没有提及任何与此类检测有关的许可。
这是我第一次使用Facebook API,这非常令人沮丧。我已经浏览了互联网,似乎普遍的共识是你根本无法检测用户是否登录或退出。
答案 0 :(得分:0)
我发现当非Facebook用户访问该页面时,您可以从signedRequest检查[ age ]人员(根据我测试,此信息不需要许可)将同时具有最大和 min 属性。
登录的Facebook用户只有 min 属性,因为这是他们的实际年龄。我相信这些信息是为了提供受年龄限制的内容。
登录的Facebook用户随后会提供与您的应用程序建立连接的访问权限,该用户将拥有一个用户ID,因此您也可以单独检测到这一点。
这通过从签名请求中获取信息来提供3个用户状态:
请记住,facebook可以随时撤销此功能,而我实际上只是对此进行了一些测试。祝你好运。
答案 1 :(得分:0)
此页面提供了“非黑客,官方支持”的方式:
Possible to find out whether a user is logged into facebook over javascript API?