2012-02-07 106 views

回答

3

以下是使用Graph API上傳照片的各種方法。這些例子假設你已經實例化了$ facebook對象並且有一個有效的會話。

1 - 當前用戶

這個例子將上載照片到當前用戶的默認應用程序的專輯默認應用程序集。如果專輯尚不存在,它將被創建。

$facebook->setFileUploadSupport(true); 
$args = array('message' => 'Photo Caption'); 
$args['image'] = '@' . realpath($FILE_PATH); 

$data = $facebook->api('/me/photos', 'post', $args); 
print_r($data); 

2 - 目標相冊

這個例子將上載照片到特定的專輯。

$facebook->setFileUploadSupport(true); 
$args = array('message' => 'Photo Caption'); 
$args['image'] = '@' . realpath($FILE_PATH); 

$data = $facebook->api('/'. $ALBUM_ID . '/photos', 'post', $args); 
print_r($data); 

,你還可以在Facebook的構造函數中指定的:

$facebook = new Facebook(array('appId' => 'ID', 'secret' => 'SECRET', 'fileUpload' => true, 'cookie' => true)); 

另一個選項

//upload photo 
$file= '/path/filename.jpg'; 
$args = array(
    'message' => 'Photo from application', 
); 
$args[basename($file)] = '@' . realpath($file); 
$ch = curl_init(); 
$url = 'http://graph.facebook.com/'.$album_id.'/photos?access_token='.$access_token; 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $args); 
$data = curl_exec($ch); 
//returns the photo id 
print_r(json_decode($data,true)); 
+0

感謝阿迪爾莫臥兒我曾經在Web服務這個圖形API,但上傳圖片需要太多時間。 – 2012-03-22 13:29:28

+0

+1,謝謝你的回答。 – 2013-03-07 13:25:40

+0

增加你的upvote數量,以獲得更多的聲譽,所以一些體育精神。 – 2013-05-13 08:48:42