Facebook api没有回复朋友联系信息

时间:2015-01-13 10:12:12

标签: facebook facebook-graph-api hello.js

在我的通讯录管理器应用中,我需要选择从Facebook导入联系人。我正在使用hello.js这是函数

    function getFriends(network, path){

    var list = document.getElementById('list');
    list.innerHTML = '';


    // login
    hello.login( network, {scope:'friends'}, function(auth){
    if(!auth||auth.error){
        console.log("Signin aborted");
        return;
    }
    // Get the friends
    // using path, me/friends or me/contacts
    hello( network ).api( path , function responseHandler(r){
        for(var i=0;i<r.data.length;i++){
            var o = r.data[i];
            var li = document.createElement('li');
            var ph = "";
            if(o.gd$phoneNumber != undefined)
            {
                for (var j = 0; j <= o.gd$phoneNumber.length; j++   ) {
                    if(o.gd$phoneNumber[j] != undefined)
                    {
                        //console.log(o.gd$phoneNumber[j].$t);
                        ph += o.gd$phoneNumber[j].$t +'<br>';
                    }

                };
            }
            li.innerHTML = o.name + (o.thumbnail?" <img src="+o.thumbnail+" />":'') +' Phone : '+ph;
            list.appendChild(li);
        };


    });
});

}

该函数由getFriends('facebook','me/friends')调用。这只返回像这样的朋友的数量

{
   "data": [

   ],
   "summary": {
      "total_count": 1076
   }
}

但是使用getFriends('facebook','me/taggable_friends'),我会得到朋友的姓名和图片,但不会收到任何电子邮件ID或联系电话。

有人能解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

/me/taggable_friends仅用于获取标记令牌(您没有获得用户ID),并且仅用于标记您的朋友(例如,在状态帖子中)。

/me/friends仅返回授权您的应用的朋友,这是故意的。不使用您的应用程序的用户不会出于隐私原因出现。

话虽如此,即使您能够吸引所有朋友,也无法获得电子邮件等详细信息,尤其是联系电话。您甚至无法从授权用户那里获得电话号码。

详细信息可在更新日志中找到:https://developers.facebook.com/docs/apps/changelog