【发布时间】:2011-06-07 04:08:39
【问题描述】:
经过一番努力,我有一些代码可以将图像上传到 Facebook,但现在的问题是它总是会创建一个新专辑。
我想修改代码,以便它只在没有同名专辑的情况下创建专辑;否则,只需将图片上传到现有相册即可。
【问题讨论】:
标签: facebook facebook-graph-api
经过一番努力,我有一些代码可以将图像上传到 Facebook,但现在的问题是它总是会创建一个新专辑。
我想修改代码,以便它只在没有同名专辑的情况下创建专辑;否则,只需将图片上传到现有相册即可。
【问题讨论】:
标签: facebook facebook-graph-api
API 允许您将图像上传到应用的现有相册。只需发布到https://graph.facebook.com/USER_ID/photos - 照片将发布到为您的应用创建的相册中。如果您的应用尚不存在,我们会自动为您的应用创建相册。所有以这种方式上传的照片都将被添加到同一个相册中。
如果您想将图像添加到特定相册,您必须 POST 到 https://graph.facebook.com/ALBUM_ID/photos - 照片将发布到特定的现有相册,由 ALBUM_ID 表示。
【讨论】:
首先您要检查您正在创建的相册是否存在,否则 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/
更新
$param 变量包含方法,在这种情况下是一个 fql 查询,以及实际的 fql 查询......在这种情况下,一个专辑查询可能是这样的:
$param = array(
'method' => 'fql.query',
'query' => 'SELECT object_id FROM album WHERE owner="'.$user.'" AND name="'.$albumName. '"'
);
【讨论】:
$param是什么?