Facebook脚本没有错误但仍未显示结果

时间:2011-12-07 11:15:23

标签: javascript html facebook fbjs

我是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?

只想问几件事。

是否有正确的方法来查看异常。如果我们也有异常回调?

以及如何使用JS API从FB获取FriendList列表。

谢谢,

塔尔哈·艾哈迈德·汗

2 个答案:

答案 0 :(得分:1)

我试过这个似乎有效

 <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/

答案 1 :(得分:0)

根据文档,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'});

如果你想查看“响应”中的属性,可以使用类似firebug或chrome的调试控制台,而不是:

alert(reponse.error);

你可以使用

console.log(response);