如何将照片上传到特定相册,如果不存在则创建该相册?

时间:2011-12-06 13:10:20

标签: php facebook facebook-graph-api

我有一个将照片上传到用户个人资料的应用

但是当它上传照片时,会转到以相应名称命名的新相册。

我想要做的是将照片上传到我喜欢的专辑

“我的测试专辑”或某些东西。

当专辑我的测试专辑不存在时,它应该创建一个专辑“我的测试专辑”。

2 个答案:

答案 0 :(得分:3)

首先,您要检查您正在创建的相册是否存在,否则Facebook将继续生成具有相同名称的相同相册。

$album = $facebook->api($param);
if (!$album) {
    $album_details = array(
        'message'=> 'Your album description goes here',
        'name'=> $albumName
    );  
    $create_album = $facebook->api('/me/albums', 'post', $album_details);
    $album_uid = $create_album['id'];
} else {
    $album_uid = $album[0]['object_id'];
}

获得相册ID后,您可以上传照片:

$photo_details = array(
    'message'=> 'Photo Description Goes Here',
    'image'=> '@' . realpath($theUploadFile)
);

$upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details);

我写了一篇很好的教程,其中包含了这个功能。我的照片上传功能内置了多项选项,可让您同时上传照片和视频。您可以在此处查看整个教程并下载该软件包:http://www.epixseo.com/index.php/facebook-php-3-3-1-and-javascript-sdk-graph-api-tutorial/

答案 1 :(得分:2)

首次上传时,您可以创建相册:

$facebook->api('/me/albums','post',$album_details);

并保存返回的album_id。

然后,对于顺序上传,您可以拨打电话:

$facebook->api('/'.$album_id.'/photos','post',$photo_details);

全部涵盖在this facebook developers blog post