2011-11-30 85 views
0

我想通過圖形api發佈圖像到用戶的牆上。 我試圖發佈託管在我的服務器的圖像,它工作正常。但是當我嘗試發佈本地文件時,它會給出以下錯誤。 未捕獲的OAuthException:(#100)圖片URL格式不正確。從本地機器發佈圖像到Facebook用戶牆

我的代碼如下所示

require_once "facebook-sdk/src/facebook.php"; 

$app_id = "23432423432"; 
$app_secret = "345345353553535353534534"; 

// Init facebook api. 
$facebook = new Facebook(array(
    'appId' => $app_id, 
    'secret' => $app_secret, 
    'cookie' => true 
)); 
$urlTitle = 'my url'; 
$review = 'test desc'; 
//$picLocal = 'http://l.yimg.com/a/i/ww/met/yahoo_logo_in_061509.png'; 
$picLocal = '@' . realpath('/var/www/PixShare/a.jpg'); 
$attachment = array('message' => ' testing', 
'description' => 'Review: ' . $review, 
'access_token' => 'USER ACCESS TOKEN', 
'picture' => $picLocal 
); 
if(!($sendMessage = $facebook->api('/me/feed/','post',$attachment))){ 
$errors= error_get_last(); 
echo "Facebook publish error: ".$errors['type']; 
echo "<br />\n".$errors['message']; 

請讓我知道這是可能的。

回答

1

Facebook API(或任何在線應用程序/站點)無法檢索您的本地文件。所以你必須以某種方式在線存儲你的文件。

或者如果你有靜態IP,你可以打開你的本地主機到互聯網。並通過你的IP給文件目的地。但這不是一個好的解決方案,因爲你必須一直連接到互聯網,並且運行apache沒有任何錯誤。而且你的互聯網連接應該是偉大的..

因此,讓主機的地方:)

+0

您也可以上傳照片作爲多部分形式,而不是試圖鏈接t o其網址 – Igy

+0

您是否在'picture'=> $ _FILE ['tmp_name']中傳遞$ _FILE ['tmp_name']請問您能否解釋一下。 –

+0

我試過使用文件上傳的形式,並設置'圖片'=> $ _FILES [「文件」] [「tmp_name」] 也試過'源'=> $ _FILES [「文件」] [「tmp_name」] 仍然越來越同樣的錯誤。 –

0

這個工作對我來說:

$photo = realpath("mypic.png"); 

然後用這個

$picLocal = '@' . $photo; 

如果PIC是旁邊的.php文件