Как получить фотографию профиля друзей пользователя Facebook с помощью Javascript SDK V2. 0
Я создаю веб-сайт с помощью Facebook API V2. 0 JavaScript SDK и хотел бы отобразить фотографии профиля друзей пользователя. Мне удалось отобразить свою фотографию профиля с помощью graph API, но я не могу получить идентификатор всех моих друзей, если я вошел в свое приложение (я администратор). Если у меня есть удостоверение личности, я смогу показать их фотографию в профиле.
ВОбозревателе графиков я проверил все разрешения (права доступа к пользовательским данным + расширенные права доступа). У меня есть заметил, Если я перейду к API В1.0, я получу разрешение друзьями, который является точно, что я хочу.
Кроме того, я добавил несколько разрешений для своего приложения в Facebook developers > App details > App Center Listed Platforms > Configure app center permissions. (user_friends + friends_birthday + friends_religion_politics + friends_relationships + friends_relationship_details + friends_location + friends_photos + friends_about_me)
Пока мой html выглядит так:
<fb:login-button scope="public_profile,email,user_friends,read_friendlists" onlogin="checkLoginState();">
После загружая Facebook SDK, у меня есть:
function getUserFriends() {
FB.api('me/friends?fields=first_name,gender,location,last_name', function (response) {
console.log('Got friends: ', response);
$("#friendslist").html('<img src="https://graph.facebook.com/'+ response.id+'/picture?type=large"/>');
});
}
Однако массив, который предположительно содержит всю информацию о моих друзьях, пуст (см. изображение: http://www.screencast.com/t/W02GaOm3h )
2 ответа:
Если все, что вам нужно, - это их изображение, его можно найти в области "taggable_friends". Однако обратите внимание, что это поле очень ограничено (по дизайну) и что вам требуется дополнительный обзор Facebook, чтобы представить его среднему пользователю.
Он содержит:
- taggable id. Это идентификатор с явной целью пометки; он не может быть использован для идентификации пользователя или иного сбора информации из его профиля.
- имя. Первый и последний пользователь имя.
Изображение с общими связанными полями. Url, is_silhouette, высота и ширина.
function getUserFriends() { FB.api('me/taggable_friends', function (response) { console.log('Got friends: ', response.data); $("#friendslist").html('<img src="'+response.data[0].picture.data.url+'"/>'); // maybe an $.each as well // var friendMarkup = ''; // $.each(response.data, function(e, v) { // friendMarkup += '<img src="' + v.picture.data.url +'" alt="'+ v.name +' picture"/>'; // } // $("#friendlist").html(friendMarkup); }); }
Связанные reading:
https://developers.facebook.com/docs/graph-api/reference/v2.0/user/taggable_friends https://developers.facebook.com/docs/opengraph/using-actions/v2.0 - пометка друзей и упоминание разделов друзейОтказ от ответственности: я боролся с этой проблемой в течение нескольких дней, не имея возможности действительно упомянуть-tag. Мой предложение использовать taggable_friends в качестве всеобъемлющего, навигационного списка для пользователя было отклонено, и я спекулирую (спекуляция Хо!) это было потому, что я не делал никаких фактических меток. Я вернусь к этому через несколько дней, когда уточню и повторно отправлю запрос на отзыв в Facebook.
-- Edit --
Похоже, что причина, по которой мое первоначальное представление было отклонено, заключалась в том, что я использовал специальный url-адрес разработки и не указал достаточно ясно, почему этого было недостаточно чтобы использовать url-адрес, установленный в разделе Настройки. На этот раз я ясно указал и объяснил это рассуждение как в общем описании моего представления, так и в пошаговых примечаниях. Короче говоря, будьте исключительно ясны в своем представлении обо всем; ваши рассуждения о том, почему вам нужно это разрешение, как они могут получить к нему доступ и т. д. Просто чтобы убедиться, что он не пропущен, если бегло прочитать.
Похоже, что в V2.0, разрешение друзей исчезло : Facebook graph api explorer не показывает вкладку 'Friends Data Permission' https://developers.facebook.com/docs/facebook-login/permissions/v2.0