我试图将图片上传到脸谱相册。现在图像上传到具有Facebook应用名称的相册。我想将图像上传到名为'Flowers'的专辑。
我正在使用以下代码。
<?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 :(得分:1)
Facebook博客文章中的场景2应该有所帮助:https://developers.facebook.com/blog/post/498/
答案 1 :(得分:0)
检查相册是否退出。
点击graphurl / {userId} /专辑。 (您也可以使用FQL执行相同的任务)
遍历列表以查看名称相册是否已退出。
如果已经退出 使用网址graphurl / {albumId} / photos
发布Pic如果相册未退出,请创建相册。 在$ facebookGraphUrl。'/ me / albums上发布一个带有参数名称和描述的帖子。
使用相册ID然后在此相册上发布图片。
祝你好运。
答案 2 :(得分:0)
参考this
您可以通过发布带有publish_stream权限和以下参数的ALBUM_ID /照片的HTTP POST请求,将照片添加到相册。
Parameter Description Type Required
source Photo content multipart/form-data yes
message Photo description string no
所以,而不是
$photo = $facebook->api('/me/photos', 'POST',
array(
'source' => '@' .realpath("ContactUs.jpg") ,
'message' => 'It is a programming test'
)
);
你应该这样做,
$photo = $facebook->api('/<your_album_id>/photos', 'POST',
array(
'source' => '@' .realpath("ContactUs.jpg") ,
'message' => 'It is a programming test'
)
);
ps
当你没有指定album_id时,facebook会为你创建一个包含你的应用程序名称的相册,如果它已经创建,那么所有没有album_id的照片都会转到该专辑