Facebook PHP SDK приложение для загрузки фотографии на страницу
Я пытаюсь создать приложение Facebook, которое загружает изображения на страницу. Я могу загружать фотографии в фотоальбом пользователя, но не на страницу.
Вот мой код:
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>';
}
Любая помощь приветствуется.
1 ответ
Когда вы делаете:
$facebook->api('/XXXXXXXXXX/photos', 'POST', array(
... XXXXXXXXXX - это идентификатор вашего приложения или альбома? Вы должны позвонить на ваш альбом ID.
Также убедитесь, что вы используете правильный $access_token. Чтобы убедиться, посмотрите на:
https://graph.facebook.com/yourPageID?fields=access_token&access_token=YourPersonalAccessToken
где yourPersonalAccessToken:
Администратор страницы
access_token
для этой страницы; Текущий пользователь должен быть администратором этой страницы; возвращается только в случае особого запроса черезfields
Параметр URL.
Вы должны предоставить графу API manage_pages
разрешения.