2013-09-26 66 views
1

使用PHP將圖像作爲管理員發佈到我的FB頁面時,它顯示爲縮略圖。我想顯示其作爲全尺寸圖片將使用PHP發佈到Facebook牆上的圖像僅顯示縮略圖

代碼我使用:

$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

謝謝


謝謝你的回答,

我試圖刪除的鏈接,但它沒有工作。我搜索更多嘗試下面的代碼,但它給了我錯誤>>>

Warning: curl_setopt_array() [function.curl-setopt-array]: open_basedir restriction in effect. File() is not within the allowed path(s): (/data/web/virtuals/17535/virtual) in /data/web/virtuals/17535/virtual/www/apps/fb/src/base_facebook.php on line 963 Fatal error: Uncaught CurlException: 3: No URL set! thrown in /data/web/virtuals/17535/virtual/www/apps/fb/src/base_facebook.php on line 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); 

謝謝您的幫助

+1

您正在發佈一個鏈接在這裏,這東西比上傳的圖片不同。 – CBroe

+0

您的編輯問題更多的是關於您的託管情況以及與Facebook問題無關的問題。 Facebook SDK可能試圖將圖像下載到託管服務器上的臨時位置,以便將其上傳到Facebook。 Facebook SDK嘗試保存該文件的位置被託管服務器上的'open_basedir'限制所禁止。您可能需要自己在PHP腳本中下載圖像,然後將該圖像的位置傳遞到Facebook SDK上。 –

回答

0

目前,你告訴Facebook上的帖子是一個鏈接。您需要修改它,因此它不是鏈接,更像是「狀態更新」。嘗試從您的API調用中刪除「鏈接」屬性到Facebook並將該URL添加到消息中。如果這不起作用,正如@CRroe在評論中所說的那樣,您需要使用API​​將圖像上傳到Facebook,然後在頁面/用戶時間線上共享該照片。

+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); 
相關問題