Подтвердить что ты не робот

Facebook API: получить все фотографии профиля

Каков наилучший способ получить ВСЕ фотографии профиля от данного пользователя? Какие разрешения мне нужны?

Я знаю, что могу получить доступ к основному профилю pic с помощью https://graph.facebook.com/[uid]/picture, но как мне получить весь альбом?

4b9b3361

Ответ 1

как мне получить весь альбом?

Вам нужно https://graph.facebook.com/[uid]/albums?access_token=[AUTH_TOKEN] получить массив JSON всех альбомов пользователя.

Здесь вы получите три важные вещи id - id альбома, name - название альбома и type - тип альбома.

Какие разрешения мне нужны?

Требуется разрешение user_photos см. здесь

Каков наилучший способ получить ВСЕ изображения профиля от данного пользователя?

Фотографии профиля находятся в альбоме "Фотографии профиля". Чтобы попасть в профиль альбома, вам нужно посмотреть в массив альбомов (как уже упоминалось ранее), повторить набор результатов JSON, пока вы не получите альбом с именем = Profile Pictures и type = profile. Получите id этого объекта. Это альбом с изображениями профиля.

Теперь вы можете получить к нему доступ, похожий на доступ к любому другому альбому. То есть https://graph.facebook.com/[ALBUM_ID]/photos?access_token=[AUTH_TOKEN] отобразит все фотографии профиля пользователя, когда-либо загруженного.

Надеюсь, что это поможет.

refer: http://developers.facebook.com/docs/reference/api/

Ответ 2

Вы можете передать "limit = 0", чтобы избежать пейджинга в целом, и вы получаете все фотографии за один вызов.

Ответ 3

Чтобы получить все фотографии профиля, во-первых, вам нужно получить список всех альбомов, но если количество альбомов больше 24, вы не получите остальных, и вы, вероятно, не получите альбом с профилями фотографий. Для этого вам нужно передать limit=0, чтобы получить URL-адрес альбомов.

Вот пример кода:

$tokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=$yourAppId&redirect_uri=$yourRedirectUrl 
                &client_secret=$yourAppSecret&code={$_GET["code"]}";

$accessToken = file_get_contents($tokenUrl);

$extAlbumUrl = "https://graph.facebook.com/me/albums?$accessToken&limit=0";

$albums = json_decode(file_get_contents($extAlbumUrl)); 

Ответ 4

Есть какой-то способ получить альбомы публичных пользователей без каких-либо отношений. Например, я не являюсь другом пользователя "foo", но мне нужны его фотографии. Я могу видеть его фотографии в пользовательском интерфейсе Facebook, но я не могу пройти через график.

Я использую explorer из facebook со всеми разрешениями, и я получаю всегда пустой JSON. Есть какой-то способ получить фотографии, которые я вижу в пользовательском интерфейсе? Эти фотографии являются общедоступными.

Реальный пример:

Пользовательский интерфейс: https://www.facebook.com/sonia.milan.9/photos Вы можете увидеть все его фотографии.

Использование графического API: sonia.milan.9/альбомы Возврат:

{
  "data": [
  ]
}

Ответ 5

Вы используете пейджинг и смещение, чтобы получить следующий 5 или изменить лимит на что угодно.

Ответ 6

Мы не получим непосредственно все фотографии профиля, сначала нам нужно получить все альбомы, используя ниже URL

https://graph.facebook.com/v2.10/ 472802896428726/альбомы access_token = {access_token} &? Поля = Id, имя, cover_photo, граф, из, тип

Фильтровать массив, используя условие, в котором type = profile и name = Profile Profile затем используйте идентификатор альбома, чтобы получить фотографии, используя ниже URL

https://graph.facebook.com/v2.10/ 124683854573967/фотографии access_token = {access_token} &? = Поля кода, источник