В документации Facebook Graph API Post единственный способ разместить изображения на стене (пользователя или страницы) - предоставить поле picture в запросе.
Так что я мог бы использовать это и загрузить изображение с моего жесткого диска на сервер и использовать этот URL. Как это:
curl --form picture=http://userserve-ak.last.fm/serve/174s/66037848/Foals+png.png --form access_token=AAADChj --form message=msg1 https://graph.facebook.com/242001885843121/feed
Но когда я это сделаю, поле type * post будет установлено как «статус», а не как «фото».
Я пробовал несколько разных вещей, например, с использованием тех же параметров запроса, которые использовались для загрузки изображения в альбом, но безуспешно:
curl --form picture=@/tmp/fb_gallery.png --form access_token=AAADChj --form message=msg2 https://graph.facebook.com/242001885843121/feed curl --form source=@/tmp/fb_gallery.png --form access_token=AAADChj --form message=msg2 https://graph.facebook.com/242001885843121/feed
Я попытался установить поле типа на "фото", но тоже не повезло.
Попробуйте с этим, он может загружать 2 фотографии одновременно
curl –F 'access_token=…' \ -F 'batch=[{"method":"POST", \ "relative_url":"me/photos", \ "body":"message=My cat photo" \ "attached_files":"file1" \ }, {"method":"POST", \ "relative_url":"me/photos", \ "body":"message=My dog photo" \ "attached_files":"file2" \ }, ]' -F 'file1=@cat.gif' \ -F 'file2=@dog.jpg' \ https://graph.facebook.com