在我的通讯录管理器应用中,我需要选择从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或联系电话。
有人能解决这个问题吗?
答案 0 :(得分:0)
/me/taggable_friends
仅用于获取标记令牌(您没有获得用户ID),并且仅用于标记您的朋友(例如,在状态帖子中)。
/me/friends
仅返回授权您的应用的朋友,这是故意的。不使用您的应用程序的用户不会出于隐私原因出现。
话虽如此,即使您能够吸引所有朋友,也无法获得电子邮件等详细信息,尤其是联系电话。您甚至无法从授权用户那里获得电话号码。
详细信息可在更新日志中找到:https://developers.facebook.com/docs/apps/changelog