Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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
当使用PHP将图像发布到Facebook墙上时,只显示缩略图_Php_Facebook_Facebook Graph Api - Fatal编程技术网

当使用PHP将图像发布到Facebook墙上时,只显示缩略图

当使用PHP将图像发布到Facebook墙上时,只显示缩略图,php,facebook,facebook-graph-api,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'] = "me

当以管理员身份使用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);
有什么帮助吗

以下是我希望它的展示方式-

多谢各位


谢谢你的回答

我试图删除链接,但没有成功。我搜索了更多并尝试了以下代码,但它给了我错误>>>

警告:curl_setopt_array()[function.curl setopt array]: open_basedir限制生效。文件()不在允许的范围内 路径:(/data/web/virtuals/17535/virtual)位于 /data/web/virtuals/17535/virtual/www/apps/fb/src/base_facebook.php on 第963行致命错误:未捕获卷曲异常:3:未设置URL!投入 /data/web/virtuals/17535/virtual/www/apps/fb/src/base_facebook.php on 第994行


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

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

谢谢大家的帮助

以下代码按预期对我有效:

$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);

谢谢大家的帮助

以下代码按预期对我有效:

$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);

你在这里发布了一个链接,这与上传图片不同。你的编辑问题更多的是关于你的托管情况,与你的Facebook问题无关。Facebook SDK可能正试图将图像下载到托管服务器上的临时位置,以便将其上载到Facebook。您的托管服务器上的
open\u basedir
限制不允许Facebook SDK试图保存文件的位置。您可能需要自己在PHP脚本中下载该图像,然后将该图像的位置传递到Facebook SDK。您在此处发布链接,这与上载图片不同。您的编辑问题更多地是关于您的托管情况,与您的Facebook问题无关。Facebook SDK可能正试图将图像下载到托管服务器上的临时位置,以便将其上载到Facebook。您的托管服务器上的
open\u basedir
限制不允许Facebook SDK试图保存文件的位置。您可能需要自己在PHP脚本中下载该图像,然后将该图像的位置传递到Facebook SDK。谢谢,我尝试了不同的方法,但出现了另一个问题,请参见上面更新的问题。谢谢你,谢谢你,我尝试了不同的方法,但另一个问题弹出,请参阅上面更新的问题。非常感谢。