我正在尝试将具有publish_stream权限的图片从我的网站发布到Facebook上。出于某种原因,当我发布时图片没有显示,但其他一切正常。
访问http://www.mysite.com/image/questions.png,图片显示正确。我错过了什么吗?
$body = array(
'name' => 'Join this site',
'message' => '',
'description' => 'Check this out',
'picture' => 'http://www.mysite.com/image/questions.png',
'link' => SITE_URL,
);
$batchPost = array();
然后我批量发帖。
答案 0 :(得分:1)
仔细检查它是否真的有效。
$body = array(
'name' => 'Join this site',
'message' => '',
'description' => 'Check this out',
'picture' => 'http://www.mysite.com/image/questions.png',
'link' => SITE_URL,
);
$batchPost = array();
$status = $facebook->api('/me/feed', 'POST', $body);
if (isset($status['id'])) //Add a check
{
echo "Message posted to wall!";
}
<小时/> 如果没有,您可以使用JavaScript SDK
FB.ui
方法发布到Facebook Wall。在我看来,它更灵活,因为用户可以输入自己的消息,这与开发人员通过PHP SDK方法定义消息的方式不同。
JavaScript SDK FB.ui方法
<script>
function postToWall()
{
var obj = {
method: "feed",
name: "Join this site",
description: "Check this out",
caption: "CAPTION",
picture: "http://www.mysite.com/image/questions.png",
link: "SITE_URL"
};
function callback(response) {
//do something
}
FB.ui(obj, callback);
}
</script>
有关JavaScript SDK Feed对话框的更多信息:http://developers.facebook.com/docs/reference/dialogs/feed/
修改:使用其他图片,然后重试。 http://www.mysite.com/image/questions.png已被删除。将图片上传到某个图片托管网站,而不是直接热链接图片。