FB API用图像发送POST

时间:2017-03-25 11:51:38

标签: image facebook facebook-graph-api

您能否告诉我如何通过FB图API发送带图像的帖子? 我有类似的东西(在许多例子中找到)

// This works fine
$fb->api( '/me/feed', 'POST', ['message' => 'Whatever I want to send as a string...'] );

// But this makes me crazy
$fb->api( '/me/feed', 'POST', ['picture' => "http://xxx.yyy.zz/images/facebook_share.jpg"] );

这会引发错误" (#100)如果提供了图片网址,则必须提供链接。"

所以我尝试了这种形式的一些修改

$fb->api( '/me/feed', 'POST', ['picture' => ['url' => "http://xxx.yyy.zz/images/facebook_share.jpg"]] );

但这会引发一个错误" (#100)图片应该代表一个有效的网址"我试图改变" url" to" link"," picture_url"," source"," src"但仍然是同样的错误。

我在最后。请帮帮我。

3 个答案:

答案 0 :(得分:1)

尚未以这种方式测试代码,但这应该可以工作:

$fb->api( '/me/photos', 'POST', ['message' => 'My message', 'source' => $fb->fileToUpload('direct/path/to/image.jpg')] );

https://developers.facebook.com/docs/php/FacebookFile/5.0.0

认为不再可以发布到个人资料,因此您需要在页面上完成

$fb->api( '/' . $page_id . '/photos', 'POST', ['message' => 'My message', 'source' => $fb->fileToUpload('direct/path/to/image.jpg')] );

答案 1 :(得分:0)

尝试这样的事情:

上传图片

$fb->api('/me/photos', 'POST', ['url'=>"http://xxx.yyy.zz/images/facebook_share.jpg"] );

确保拥有publish_actions许可并使用最新版本的Graph API(v2.8)。

发布图片

$fb->api('/me/feed', 'POST', ['link'=>"http://xxx.yyy.zz/images/facebook_share.jpg"] );

确保获得user_posts权限。

答案 2 :(得分:-2)

所以亲爱的同事发现工作方式是

$fb->api( '/me/feed', 'POST', ['picture' => "http://autostyl.frio.sk/images/facebook_share.jpg", 'link' => 'http://autostyl.frio.sk'] );

感谢Facebook提供的可怕文档和愚蠢的错误消息。