2012-05-26 190 views
1

創建一個描述相冊的相冊。Iam試圖將圖片上傳到相冊。有什麼方法可以爲相冊創建說明嗎?有沒有什麼辦法可以用php的

我正在使用以下代碼。

<?php 
    require_once 'fbpic/library/facebook.php'; 

    $app_id = "xxxx"; 
    $app_secret = "xxxxx"; 
    $facebook = new Facebook(array(
    'appId' => $app_id, 
    'secret' => $app_secret, 
    'cookie' => true 
    )); 
    $fbcheck= $facebook->getUser(); 

    if(is_null($fbcheck) or !$fbcheck or $fbcheck==0) 
    { 
    header("Location:{$facebook->getLoginUrl(array('scope' => 'user_status,publish_stream,user_photos,photo_upload'))}"); 

    } 



     $facebook->setFileUploadSupport("http://" . $_SERVER['SERVER_NAME']); 
     // add a status message 
     $photo = $facebook->api('/me/photos', 'POST', 
      array(
       'source' => '@' .realpath("ContactUs.jpg") , 
       'message' => 'It is a programming test' 
      ) 
     ); 

?>

+1

是的,這是可能的:http://developers.facebook.com/docs/reference/api/user/#albums – zerkms

回答

2

當您上傳從應用程序中的照片到Facebook和沒有指定什麼專輯中(/me/photos),Facebook將創建一個自動唱片爲您的應用程序和所有連續照片放在從您的應用程序上傳將轉到該自動生成的專輯。

如果你想讓你的應用程序的相冊有一個描述,你的應用程序應該手動創建一個並指定一個描述。你可以用下面的代碼做到這一點 -

//Create an album 
$album_details = array(
     'message'=> 'Album desc', 
     'name'=> 'Album name' 
); 
$album_data = $facebook->api('/me/albums', 'POST', $album_details); 

如果調用成功,$album_data響應將持有新創建album_id上傳照片時,您可以使用。您只需將它們上傳到特定相冊ID -

$facebook->api('/ALBUM_ID/','POST', array(
    'source' => '@' .realpath("ContactUs.jpg") , 
    'message' => 'It is a programming test' 
) 
); 

一個很好的想法是將相關album_id存儲在數據庫中的其它用戶數據一起。請記住,每次進行上傳時,都要測試該專輯的存在,因爲用戶可能會在應用程序之外刪除該專輯。

+0

感謝您的寶貴意見。現在它運作良好。但是我很想將圖片上傳到相冊,如果它已經存在,或者想要創建相冊。那麼,我該如何檢查相冊是否存在以及如何獲取其ID?在此先感謝.. – Sunil

+0

就像我在最後一段所說的那樣,您應該在數據庫中存儲每個用戶的相冊ID。如果你的用戶在你的數據庫中沒有album_id,那麼你就知道你需要創建它。如果用戶確實有相冊ID,則可以在查詢'$ facebook-> api('/ ALBUM_ID')'時查看它是否返回錯誤。 – Lix

+0

是否有任何其他方式通過名稱獲取特定專輯的詳細信息或獲取所有專輯的詳細信息? – Sunil

相關問題