Facebook API / PHP - можно ли изменить изображение профиля пользователя через FB Graph API?

Можно ли установить / изменить изображение профиля пользователя facebook через API графа?

Я не могу найти конкретный метод API, но можно загрузить изображение в альбом пользователя (http://developers.facebook.com/docs/reference/api/photo). Могу ли я установить изображение профиля пользователя на изображение, загруженное в его альбом?

Изменить:
Тот же вопрос задан в отношении REST API
Могу ли я установить изображение профиля пользователя с помощью API Facebook?


person John Himmelman    schedule 06.12.2010    source источник
comment
comment
@Ajreal Я нашел этот вопрос перед публикацией, но на него был только один ответ, и с тех пор, как он был опубликован, было много изменений / дополнений api.   -  person John Himmelman    schedule 04.02.2011


Ответы (5)


Нет, а вот комментарий парня из фейсбука:

Это разработчик Facebook!

Исходная ссылка - вы должны нажать, чтобы показать комментарии

person Tom Granot    schedule 02.02.2011

Мы можем сделать трюк, загрузив фотографию пользователя в Facebook через API, а затем перенаправив пользователя на URL-адрес загруженной фотографии, добавив makeprofile=1 в список строк запроса:

facebook.com/photo.php?pid=xyz&id=abc&makeprofile=1

Установите флажок Автоматическое изменение изображения профиля Facebook, чтобы получить пример и демонстрацию PHP.

person Hoan    schedule 14.11.2011
comment
больше не работает, ответ от ggtsu (ниже) работает. - person Ramiz Ansari; 24.07.2017

В настоящее время это возможно путем перенаправления пользователя на URL-адрес смены изображения мобильного профиля https://m.facebook.com/photo.php?fbid=[fb photo id]&prof&ls=your_photo_permalink

Предыдущая работа с использованием URL-адреса facebook.com/photo.php?pid=[fb photo id]&makeprofile=1 больше не работает.

person ggtsu    schedule 18.07.2014
comment
Вы должны чем-то заменить your_photo_permalink? Если да, то? - person matteo; 17.04.2016
comment
Нет, Маттео. только https://m.facebook.com/photo.php?fbid=[fb photo id]&prof=1 может сделать трюк - person Ramiz Ansari; 24.07.2017

Насколько мне известно и по опыту: нет.

person Peter Bailey    schedule 06.12.2010

См. Раздел «Публикация» здесь: http://developers.facebook.com/docs/reference/api/photo

Требуется разрешение publish_stream.

Чтобы опубликовать фотографию, отправьте POST запрос с прикрепленным файлом фотографии как multipart/form-data.

Вы можете опубликовать отдельную фотографию в профиле пользователя с помощью POST to http://graph.facebook.com/PROFILE_ID/photos. Мы автоматически создаем альбом для вашего приложения, если он еще не существует. Все фотографии из вашего приложения будут опубликованы в одном автоматически созданном альбоме.

Вы можете опубликовать фотографию в конкретном существующем фотоальбоме с помощью POST на http://graph.facebook.com/ALBUM_ID/photos.

В последнем предложении говорится, что вы можете публиковать в существующем альбоме, поэтому, если вы пытаетесь обновить изображение профиля пользователя (не уверены в том, как вы сформулировали свой вопрос), попробуйте получить идентификатор альбома для пользователя, а затем опубликовать его.

person Matt Huggins    schedule 06.12.2010
comment
Спасибо, Мэтт, за вашу помощь. Я могу создать альбом в ящике. Но когда я пытаюсь добавить изображение в этот альбом, я получаю сообщение об ошибке. (Сообщение: (# 324) Требуется загрузить файл). Я делаю это на C #. Вот мой веб-запрос. https://graph.facebook.com/pageid/photos?access_token=application_access_token&method=post&message=waterfall&source=D:\Image\image1.jpg. Я знаю, что запрос должен быть составным. Я написал код, а не непосредственно в веб-запросе. - person Komal; 29.07.2011
comment
Вы не можете просто передать местоположение на жестком диске в URL-адресе, сервер не будет знать, что с этим делать. Ознакомьтесь с этим сообщением в блоге Facebook, в котором объясняется загрузка фотографий через Graph API. - person Matt Huggins; 29.07.2011