有没有办法用php创建一个描述facebook的专辑

时间:2012-05-26 08:51:56

标签: facebook image facebook-graph-api upload

我试图将图片上传到相册。有没有办法为专辑创建说明。

我正在使用以下代码。

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

&GT;

1 个答案:

答案 0 :(得分: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与您的其他用户数据一起存储在数据库中。请记住,每次上传时都要测试该相册是否存在,因为用户可能已在您的应用程序之外删除了该相册。