0

这是我发布到 Facebook 的功能:

require 'facebook-src/facebook.php';
function Facebook($content,$link=false,$image=false,$caption=false)
{
$facebook = new Facebook(array(
 'appId' => 'myappid',
 'secret' => 'mysecret'
));
$token='mytoken';

$post = array('access_token' => $token,'message' =>$content);
if ($link!==false) $post['link']=$link;
if ($image!==false) $post['picture']=$image;
if ($caption!==false) $post['caption']=$caption;

try{
$res = $facebook->api('/MyPage/feed','POST',$post);
} catch (Exception $e){
echo $e->getMessage();
}
}

这非常适合发布到我的页面墙上,除非有要发布的图像。

我尝试将图像设置为: http://www.mysite.com/full_link_to_image.png

而且我也试过 /home/local/path/to/image.png

对前 Facebook 的回复:(#1500) The url you supplied is invalid

对于后者,Facebook 回复:(#100) picture URL is not properly formatted

我不知道为什么会出现问题。我的图像在那个位置,这是一个很好的图像。图像的分辨率似乎不是问题。Facebook 对我尝试添加的任何图像都给出了相同的错误,如果没有图像,则它可以正常发布而不会出现错误。

4

1 回答 1

0

首先,请确保您不是在本地主机上工作,并且http://www.mysite.com/full_link_to_image.png在浏览器中工作。

您需要使用 /photos 它将照片上传到您的相册并将其与您指定的任何消息一起发布在您的墙上。但是您无法以这种方式获得侧面缩略图。

$attachements = array(
    'access_token' => 'PAGE_TOKEN',
    'title' => 'POST_TITLE',
    'message' => 'MY_MESSAGE',
    'url' => 'IMAGE_URL';
);                                                                          
$result = $facebook->api('/PAGE_ID/photos', 'POST', $attachements);

要获得缩略图,您必须使用链接

$attachements = array(
    'access_token' => 'PAGE_TOKEN',
    'title' => 'POST_TITLE',
    'link' => 'LINK_URL',
    'picture' => 'IMAGE_URL'
    'description' => 'LINK DESCRIPTION',
);

$result = $facebook->api('/PAGE_ID/feed', 'POST', $attachements);

根据您的图像尺寸,缩略图将位于左侧或链接顶部。

如果仍然无法正常工作,请使用其他网站的图片进行测试。

于 2013-11-12T09:12:17.080 回答