Ошибка в скрипте Facebook, но результат не отображается - PullRequest
0 голосов
/ 07 декабря 2011

Я очень новичок в FaceBook Javascript API.Мне нужна помощь, чтобы получить список друзей в соответствии с созданным мной списком друзей.Как «выпускники, школа, друзья, с которыми работали» (все они созданы самими). ​​

Это то, что я сделал прямо сейчас.Я успешно вошел в систему и получил правильный access_token, выделенный для этого сеанса.После этого я запускаю это.

    FB.login(function(response) {
        if( response.session ){
            *FB.api('friendlist', '/me/friendlists', function(){
                **alert('got the friendlist');
            });
        }else{
            alert('User not logged in.');
        }
    },{scope: 'email,read_friendlists'});

По этому коду

* this runs OK without any exceptions?

** this alert never invokes?

Просто хочу кое-что спросить.

Есть ли правильный способ увидеть исключение.Если у нас также есть обратный вызов для исключения?

и Как получить список FriendList от FB, используя JS API.

Спасибо,

Талха Ахмед хан

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Я пробовал это, и, кажется, работает

 <div id="listsDiv"></div>

 <script>
 var listsDiv = document.getElementById('listsDiv');
 FB.getLoginStatus(function(response) {
 if (response.status != 'connected') {
 listsDiv.innerHTML = '<em>You are not connected</em>';
 return;
 }


 });

 var perms = function(){
 FB.api('/me/friendlists', function(result) {

 var markup = '';
 var lists = result.data;
 for(var i in lists){
   markup += lists[i].name +'<br />';
 }
 listsDiv .innerHTML = markup;
 });
 }
 FB.login(perms, { scope: 'read_friendlists' });
 </script>

Вы можете протестировать многие из этих вещей на

https://developers.facebook.com/tools/console/

0 голосов
/ 07 декабря 2011

Согласно документации, FB.api возвращает объект ответа, который можно использовать для отладки ошибки.

https://developers.facebook.com/docs/reference/javascript/FB.api/

исправленный код:

FB.login(function(response) {
        if( response.session ){
            FB.api('friendlist', '/me/friendlists', function(response){
                alert(response.error);
            });
        }else{
            alert('User not logged in.');
        }
    },{scope: 'email,read_friendlists'});

если вы хотите увидеть, какие свойства есть у 'response', вы можете использовать что-то вроде firebug или консоли отладки chrome и вместо:

alert(reponse.error);

вы можете использовать

console.log(response);
...