Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook API PHP::发布图片和状态时出错_Php_Facebook_Facebook Graph Api_Facebook Php Sdk - Fatal编程技术网

Facebook API PHP::发布图片和状态时出错

Facebook API PHP::发布图片和状态时出错,php,facebook,facebook-graph-api,facebook-php-sdk,Php,Facebook,Facebook Graph Api,Facebook Php Sdk,以下是我发布到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('

以下是我发布到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)您提供的url无效

对于后者,Facebook回复:
(#100)图片URL格式不正确


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

首先,请确保您不是在本地主机上工作,并且在浏览器中工作

你需要使用/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);
根据您的图像尺寸,缩略图将位于链接的左侧或顶部


如果另一个网站的图片仍然不起作用,请使用它进行测试。

“除非有要发布的图片。是否要将照片上载到订阅源?@AdamAzad,我正在尝试发布一个正常的状态更新,但其中包含一个图像。发布照片不算作状态更新,你想要像我只是想在我的帖子旁边放一个缩略图这样的东西吗。。。我发现我可以通过将
链接
更改为图像URL,然后将链接URL插入到内容中来实现。但这是混乱的,它链接到一个图像文件,这不是我想要的。缩略图只在发布链接时可用,不用于状态更新。