Скажем, я должен был позволить пользователю войти на мой сайт с помощью facebook, например, следующим URL:
http://www.facebook.com/dialog/oauth?client_id=$appId& redirect_uri=$return&scope=user_birthday,email,user_location
Будет ли у меня возможность получить список всех друзей пользователя и отобразить фотографии (если таковые имеются)? Какую функцию графического API я могу использовать для этого?
Вы должны выполнить запрос к https://graph.facebook.com/me/friends
Образец находится здесь: http://developers.facebook.com/docs/reference/api/
И как только у вас есть идентификатор пользователя, вы можете указать свой <img src="" />
на URL http://graph.facebook.com/<user_id>/picture
.
Убедитесь, что вы настроили приложение с помощью Facebook, так как вам понадобится ключ API, чтобы сделать большую часть этого, используя официальный Facebook apis. Вот отличная ссылка, если вам все еще нужно это сделать, от Джои Ривера. Просто следуйте первой части, чтобы настроить приложение и подключиться к нему.
Функция API будет FB.api("/me/friends")
(Источник) . Он возвращает массив объектов JSON с каждым другом Facebook и именем пользователя. Если вы хотите получить фотографии, вам нужно будет запросить каждого друга в списке для эквивалента FB.api("/me/picture/"
. Вы можете сделать это с помощью FQL, встроенного в оператор for в списке друзей. Или аналогичный метод с простым вызовом api для [Friend Facebook id]/picture
предоставит его вам, если он будет общедоступным.
Вам все равно может потребоваться явно указать файл изображения, так как он даст вам имя файла.
Это предполагает выполнение Javascript вашего приложения.
После правильной аутентификации facebook для входа в систему пользователя …..
вы можете получить доступ к списку своих друзей, используя запрос fql ….
следующее работало отлично для меня ….
<?php try { $fql = "SELECT uid, name, pic_square FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"; $param = array( 'method' => 'fql.query', 'query' => $fql, 'callback' => '' ); $fqlResult = $facebook->api($param); } catch(Exception $o) { d($o); } ?>
Попробуй это:
http://graph.facebook.com/<user_id>/picture
например:
http://graph.facebook.com/4/picture
Это отобразит отметку фото