[英]How to store a Facebook Graph API response as a Javascript Array?
[英]Facebook Graph API response javascript
我想得到每个朋友的名字和照片。 请告诉我我该如何处理。 我没有行,却发现错误“未捕获的TypeError:无法将属性'innerHTML'设置为null”
FB.api('/me/friends','GET',{"fields":"id,name,email,picture.height(500)"},
function(response) {
console.log(response.total_count);
var result_holder = document.getElementById('result_friends');
// var friend_data = response.data.sort();//sort(sortMethod);
var results = '';
document.getElementById('friends_data').innerHTML = 'Name :::' + response.name;
for (var i = 0; i < friend_data.length; i++) {
console.log(i + results);
results += '<div><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture">' + friend_data[i].name + '</div>';
}
// and display them at our holder element
result_holder.innerHTML = '<h2>Result list of your friends:</h2>' + results;});
这行是错误的: document.getElementById('friends_data').innerHTML = 'Name :::' + response.name;
将有一个响应数组(response.data),在该数组中将有朋友及其名字。
删除该行,并使用for循环,如下所示:
for (var i = 0; i < response.data.length; i++) {
results += '<div><img src="https://graph.facebook.com/' + response.data[i].id + '/picture">' + response.data[i].name + '</div>';
}
或者,由于您已经在响应中获得图片URL,请尝试以下操作:
for (var i = 0; i < response.data.length; i++) {
results += '<div><img src="' + response.data[i].picture.data.url + '">' + response.data[i].name + '</div>';
}
顺便说一句,最好只在回调的开头使用console.log(response)
进行调试,这样您就可以看到响应中到底有什么。 只是说。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.