0

Я хочу получить имя и фотографию каждого друга. скажите, пожалуйста, как я могу справиться с этим. Я не подвожу нет строки и найти ошибку «Uncaught TypeError: Невозможно установить свойство„innerHTML“нулевых»Facebook Graph API response javascript

 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;}); 
+2

Добро пожаловать в переполнение стека! Stack Overflow - это не бесплатная служба написания кода, пожалуйста, покажите свой код/​​усилие и какова фактическая проблема. – FrankerZ

+0

проверить этот одно мой результат не отображен –

+0

Я хочу показать имя и фотографию каждого друга –

ответ

0

Эта линия является неправильным: document.getElementById('friends_data').innerHTML = 'Name :::' + response.name;

Там будет массив в ответ (response.data), и в этом массиве будут друзья с их именами.

Удалите строку и использовать для цикла, как это:

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>'; 
} 

Btw, то лучше просто отлаживать с console.log(response) в начале обратного вызова, чтобы вы могли видеть, что именно находится в ответе. Просто говорю.

 Смежные вопросы

  • Нет связанных вопросов^_^