2012-01-20 1 views
0

Я использую javascript sdk, и я не понимаю, когда я могу совершать вызовы api. FB.api отлично работает в функции FB.getLoginStatus, но сам вызов FB.api присваивает имя «undefined». Ясно, что я пропустил нечто фундаментальное. Должен ли я использовать токен доступа каким-то образом?Авторизация с помощью Javascript SDK api вызывает

FB.getLoginStatus(function(response) { 
    if (response.status === 'connected') { 
     var uid = response.authResponse.userID; 
     var accessToken = response.authResponse.accessToken; 
     FB.api('/me', function(response) { 

       // SUCCESS 
       alert('Your name is ' + response.name); 
     }); 
    } 

}); 

FB.api('/me', function(response) { 

    //FAILURE 
    alert('Your name is ' + response.name); 
}); 

ответ

0

Вы должны быть уверены, что фреймворк загружен перед вызовом или присоединением FB. * К любым обработчикам javascript.

Вы можете убедиться, что вы сделать это в нужное время, поставив вложения в обработчик внутри window.fbAsyncInit=function(){};

Кроме того, ваш первый пример корректен, вы хотите, чтобы пользователь подключен/авторизовались до просто слепо называя FB.api( или FB.ui( функциями.

+0

О да, я асинхронно загрузил фреймворк, я просто не показывал его в этом примере. Но спасибо за подтверждение того, что FB.api можно вызвать только после проверки того, что пользователь подключен. – Sean

Смежные вопросы