2012-01-06 2 views
0

У меня есть следующий код, чтобы проверить статус входа в facebook.response.authResponse is null

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"); 
       } 
       else { 
        alert("not liked "); 
       } 
      }); 
    } 
    else if (response.status === 'not_authorized') { 

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

я получаю значение response.authResponse в первом случае раздела, т.е. в if (response.status === 'connected') {} части, но я получаю response.authResponse нуль в else if (response.status === 'not_authorized') {} части,

у кого-нибудь есть идеи по этому поводу ??

Пожалуйста, помогите мне.

ответ

1

Чтобы иметь возможность вызвать график, чтобы получить симпатии, то вам нужно чтобы пользователь добавил/аутентифицировал ваше приложение с разрешениями user_likes, а затем вы можете его прочитать. Поэтому в вашем коде выше, когда они попадают в любой из двух случаев else, вызовите FB.login() (или отобразите кнопку входа fb на странице).

Если вы не хотите, чтобы пользователь добавлял/аутентифицировал ваше приложение, вам необходимо настроить приложение как приложение с вкладкой страницы, а затем вы можете захватить signed_request (https: //developers.facebook. com/docs/authentication/signed_request /) и декодировать это, предоставляя доступ, чтобы знать, понравилась ли пользователю страница, на которой ваше приложение является вкладкой страницы.

+0

signed_request действительно сделал трюк, спасибо DMCS – mack

1

Объект authResponse является пустым, если вы не подключены ... так как вы не запрашивали это кажется логичным ...

+0

Что именно я хочу, любой пользователь, который посещает мою страницу FB, обслуживается одним всплывающим окном, и это всплывающее окно исчезает только тогда, когда он нажимает на кнопку, я сделал это, но он работает только с одним пользователем FB, который является администратором этой страницы, для всех остальных пользователей он возвращает статус «not_authorized» – mack