Как загрузить изображение для мероприятия с использованием API-интерфейса Facebook?

Я хотел бы знать, как добавить изображение к событию, используя API-интерфейс Facebook Graph. Я видел этот вопрос и пробовал некоторые варианты этой темы без каких-либо успехов. Официальная документация, похоже, не упоминает об этом.

Я использую PHP для этого конкретного проекта, и я посмотрел исходный код PHP SDK, который никоим образом не помогает. Запрос метаданных для изображений с использованием https://graph.facebook.com/eventid/picture?metadata=1&access_token... кажется, не распознается, поэтому ничего не помогает.

Есть ли у кого-нибудь какой-нибудь пример или документация о том, как это сделать? (не волнует, на каком языке он находится)

Ответ 1

Это похоже на то, что еще не поддерживается Graph API. Он не упоминается в официальной документации, и попытки использования API-интерфейсов API-интерфейсов Graph-ify не работают.

Произошло некоторое обсуждение того, что разные люди пробовали на этом форуме: http://forum.developers.facebook.com/viewtopic.php?id=56717

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

Я обновлю этот ответ, так как поддержка добавления изображений к событиям добавляется в API-интерфейс Graph.

Ответ 2

Это поддерживается API-интерфейсом Graph, однако он плохо документирован. Вам необходимо отправить изображение в виде многостраничного приложения в запрос POST. Попробуйте следующее:

curl -F 'access_token=...' \
-F 'name=Test Event' \
-F 'description=The description' \
-F 'start_time=2012-09-01T12:00:00+0000' \
-F '@[email protected]/path/to/image.jpg' \
https://graph.facebook.com/me/events

Это событие должно иметь изображение.

Они недавно добавили поддержку этого в PHP SDK.

Я отклонил их python-sdk и добавил поддержку multipart и добавил простой метод put_event, который принимает URL-адрес для изображения, а также обычные параметры.

Ответ 3

При поиске проблемы я нашел следующие ссылки, которые могут быть интересны.

http://wiki.developers.facebook.com/index.php/PHP

http://wiki.developers.facebook.com/index.php/Photos.upload

http://developers.facebook.com/docs/reference/rest/

В последней ссылке установите флажок "Методы публикации и " Методы API панели инструментов ". Он имеет методы для загрузки видео и фото.

Фото: http://developers.facebook.com/docs/reference/rest/photos.upload

Видео: http://developers.facebook.com/docs/reference/rest/video.upload

-------------- EDIT --- 21 мая 2010 г., 8:58 IST ---------------- -----

Отметьте этот поток, он показывает код с расширением фотографии в PHP, используя графический API, который вы упомянули.

Загрузить фотографию в альбом с помощью API-интерфейсов Facebook

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

спасибо.

Ответ 4

У меня была та же проблема, этот код работает для меня:

// create the event
// ...

// upload the picture
$file = "pathtothefile";
$args[basename($file)] = '@' . realpath($file);
$data = $facebook->api('/'. $event_id, 'post', $args);

Но иногда я получаю "(# 324) Ошибка или неверный файл изображения" error

Ответ 5

Вот пример с использованием FbGraph, написанный Nov Matake в Ruby on Rails. Я провожу много часов, чтобы выяснить, как загрузить изображение для мероприятия. Надеюсь, это поможет и сэкономит время.

me = FbGraph::User.me(ACCESS_TOKEN)
event = me.event!(
  :name => 'FbGraph test event',
  :start_time => 1.week.from_now.to_i,
  :end_time => 2.week.from_now.to_i,
  :picture => File.new("/home/jeetu/Desktop/my_birthday.png")
)