Facebook的PHP SDK应用程序上传照片页
问题描述:
我想创建一个Facebook应用程序,上传图像到一个页面。我可以设法将照片上传到用户的相册,但不能上传到该页面。Facebook的PHP SDK应用程序上传照片页
这里是我的代码:
require_once('php-sdk/facebook.php');
$config = array(
'appId' => 'XXXXXXXX',
'secret' => 'YYYYYYYYYYYYYYYY',
'fileUpload' => true,
);
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
$photo = $_POST['image'];
$message = "Lorem ipsum";
echo $user_id;
if ($user_id) {
$ret_obj = $facebook->api('/XXXXXXXXXX/photos', 'POST', array(
'access_token' => $access_token,
'source' => '@' . $photo,
'message' => $message
)
);
} catch(FacebookApiException $e) {
$login_url = $facebook->getLoginUrl(array(
'scope' => 'user_photos,publish_stream,photo_upload'
));
echo 'Please <a href="' . $login_url . '">login.</a>';
print_r($e);
error_log($e->getType());
error_log($e->getMessage());
}
echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>';
} else {
$login_url = $facebook->getLoginUrl(array('scope' =>user_photos,publish_stream,photo_upload,manage_pages'));
echo 'Please <a href="' . $login_url . '">login.</a>';
}
任何帮助将非常感激。
答
当你这样做:
$facebook->api('/XXXXXXXXXX/photos', 'POST', array(
...是XXXXXXXXXX你的appid或ALBUMID?您必须拨打相册ID。
另外请确保您使用的是正确的$ access_token。为了确保看看:
https://graph.facebook.com/yourPageID?fields=access_token&access_token=YourPersonalAccessToken
其中yourPersonalAccessToken是:
一个专页管理员
access_token
此页面;当前用户必须是该页面的管理员 ;仅在通过fields
URL参数特别要求 时才会返回。
您必须授予图表api manage_pages
权限。
[发布照片到Facebook粉丝页面通过iOS应用程序由普通非管理员用户]可能的副本(http://facebook.*.com/questions/10912901/posting-photo-to-facebook-fan-page-通过-IOS应用程序内按常规非管理员用户) – Igy