通过POST对象将图片发布到Facebook墙上不显示

时间:2012-06-16 00:15:38

标签: facebook facebook-graph-api

我正在尝试将具有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();

然后我批量发帖。

1 个答案:

答案 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已被删除。将图片上传到某个图片托管网站,而不是直接热链接图片。