使用PHP将图像发布到Facebook时,仅显示缩略图

时间:2013-09-26 15:21:56

标签: php facebook facebook-graph-api

使用PHP将图片作为管理员发布到我的FB页面时,它显示为缩略图。我希望将其显示为全尺寸图片

我正在使用的代码:

$page_info = $facebook->api("/$page_id?fields=access_token");
$page_access_token = $page_info['access_token'];

$data['picture'] = "image.jpg";
$data['link'] = "link";
$data['message'] = "message";
$data['access_token'] = $page_access_token;

$post_url = 'https://graph.facebook.com/'.$page_id.'/feed';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);

任何帮助?

以下是我希望如何显示 - http://i.stack.imgur.com/0PUOS.png

谢谢


感谢您的回答,

我尝试删除链接但它无法正常工作。我搜索了更多并尝试了以下代码,但它给了我错误>>>

  

警告:curl_setopt_array()[function.curl-setopt-array]:   open_basedir限制生效。 File()不在允许范围内   path(s):( / data / web / virtuals / 17535 / virtual)in   /data/web/virtuals/17535/virtual/www/apps/fb/src/base_facebook.php on   第963行致命错误:未捕获的CurlException:3:没有设置URL!投入   /data/web/virtuals/17535/virtual/www/apps/fb/src/base_facebook.php on   第994行

require 'facebook.php';
$facebook = new Facebook(array(
'appId'  => '111111111111',
'secret' => '222222222222222222',
   'fileUpload' => true
));

$page_id = '3333333333333';
$page_info = $facebook->api("/$page_id?fields=access_token");
$page_access_token = $page_info['access_token'];     

$image = "http://www.emperola.com/upload-01/18001-img_hero.jpg";

$args = array(
        'access_token'  => $page_access_token,
        'message'       => 'message',
        'name'          => 'Title',
        'picture'       => $image
    );

    $post_id = $facebook->api("/$page_id/feed","post",$args);

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

谢谢大家的帮助,

以下代码按预期为我工作:

$page_info = $facebook->api("/$page_id?fields=access_token");
$page_access_token = $page_info['access_token'];      
$image = "../$upload/$picture";
$args = array(  
    'message' => ''.$nazev.' - '.$link.'',  
    'access_token' => $page_access_token,  
    'image' => '@' . realpath($image)
);  
$data = $facebook->api('/'.$page_id.'/photos', 'post', $args);

答案 1 :(得分:0)

目前,你告诉Facebook你的帖子是一个链接。您需要对其进行修改,使其不是链接,更像是“状态更新”。尝试从您对Facebook的API调用中删除“link”属性,并将该URL添加到邮件中。如果这不起作用,正如@CRroe在评论中所说,你需要使用API​​将图像上传到Facebook,然后在页面/用户时间线上分享该照片。