如何查看facebook中所有用户的登录状态?

时间:2012-01-07 04:59:47

标签: facebook-like facebook-fql facebook-javascript-sdk

  

可能重复:
  response.authResponse is null

我开发了一个带有应用的Facebook页面,

我想要的是每当有用户访问我的页面时,用户都会被一条弹出消息所服务,只有当用户点击“喜欢”按钮时,弹出窗口才会消失,如果用户已经喜欢该页面,弹出窗口将不会出现,这样做我写了以下代码

 FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    var user_id = response.authResponse.userID;  
    var page_id = "app_id"; 
    var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id;
    var the_query = FB.Data.query(fql_query);
    the_query.wait(function(rows) {
                 if (rows.length == 1 && rows[0].uid == user_id) {
                    alert("liked the page");
                    popup.hide() // hide the popup as user has clicked like button 
                 }
                 else {
                    alert("not liked ");
                 }
            });
  }
  else if (response.status === 'not_authorized') {

  }
  else
  {
    alert("not logged in");
  }
});

以上代码只能与一个FB用户合作,一个是本页的管理员,对于所有其他用户,它返回response.status === 'not_authorized'状态,所以我无法检索用户登录信息,因为在此我得到空response.authResponse

有没有人知道,如何检查所有用户的登录状态,而不仅仅是管理员...... ??

感谢。

1 个答案:

答案 0 :(得分:0)

如果您正在谈论页面标签应用,并且您想知道的只是访问用户的“喜欢”状态,那么您所要做的就是解析传递给您应用的signed_request。您可以阅读有关using and parsing Signed Requests here的更多信息。

signed_request中有一个user对象 - 您需要的信息就在该对象中。