【问题标题】:When posting image using PHP to Facebook wall only thumbnail is displayed使用 PHP 将图像发布到 Facebook 墙时,仅显示缩略图
【发布时间】:2013-09-26 15:21:56
【问题描述】:

当使用 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() 不在允许范围内 路径:(/data/web/virtuals/17535/virtual)在 /data/web/virtuals/17535/virtual/www/apps/fb/src/base_facebook.php 上 第 963 行致命错误:未捕获的 CurlException:3:未设置 URL!投入 /data/web/virtuals/17535/virtual/www/apps/fb/src/base_facebook.php 上 第 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);

感谢您的帮助

【问题讨论】:

  • 你在这里发链接,和上传图片不一样。
  • 您的编辑问题更多地与您的托管情况有关,并且与您的 Facebook 问题无关。 Facebook SDK 可能会尝试将图像下载到您的托管服务器上的临时位置,以便将其上传到 Facebook。 Facebook SDK 试图保存文件的位置被您的托管服务器上的open_basedir 限制所禁止。您可能需要自己在 PHP 脚本中下载图像,然后将该图像的位置传递到 Facebook SDK。

标签: php facebook facebook-graph-api


【解决方案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);

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 谢谢,我尝试了不同的方法,但弹出另一个问题,请参阅上面的更新问题。谢谢
    猜你喜欢
    • 1970-01-01
    • 2012-05-14
    • 2012-05-08
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多