我试图将图片上传到相册。有没有办法为专辑创建说明。
我正在使用以下代码。
<?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;
答案 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与您的其他用户数据一起存储在数据库中。请记住,每次上传时都要测试该相册是否存在,因为用户可能已在您的应用程序之外删除了该相册。