1

Iam trying to upload images to an album . Is there any way to create a description for the album.

I am using the following code.

<?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'
            )
        );

?>

4

1 回答 1

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 与您的其他用户数据一起存储在您的数据库中。请记住每次上传时都要测试该专辑的存在,因为用户可能已经在您的应用程序之外删除了该专辑。

于 2012-05-26T09:00:10.983 回答