Я заставил фото функцию загрузки работать с этим кодом,
<?php
include_once 'facebook-php-sdk/src/facebook.php';
include_once 'config.php';//this file contains the secret key and app id etc...
$facebook = new Facebook(array(
'appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET_KEY,
'cookie' => true,
'domain' => 'your callback url goes here'
));
$session = $facebook->getSession();
if (!$session) {
$url = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0,
'req_perms'=>'user_photos,publish_stream,offline_access'//here I am requesting the required permissions, it should work with publish_stream alone, but I added the others just to be safe
));
echo 'You are not logged in, please <a href="' . $facebook->getLoginUrl() . '">Login</a> to access this application';
} else{
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$token = $session['access_token'];//here I get the token from the $session array
$album_id = 'the id of the album you wish to upload to eg: 1122';
//upload your photo
$file= 'test.jpg';
$args = array(
'message' => 'Photo from application',
);
$args[basename($file)] = '@' . realpath($file);
$ch = curl_init();
$url = 'https://graph.facebook.com/'.$album_id.'/photos?access_token='.$token;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$data = curl_exec($ch);
//returns the id of the photo you just uploaded
print_r(json_decode($data,true));
} catch(FacebookApiException $e){
echo "Error:" . print_r($e, true);
}
}
?>
Я надеюсь, что это помогает, друг и я разбили наши головы против стены в течение достаточно долгого времени для получения этой работы!
Так или иначе вот мой вопрос, как я могу загрузить изображение на фан-страницу? Я изо всех сил пытаюсь получить эту работу, когда я загружаю изображение все, что я получаю, удостоверение личности с фотографией, но никакая фотография в альбоме.
Так в основном, когда пользователь нажимает кнопку загрузки на нашем приложении, мне нужен он для загрузки изображения, которое они создали к альбому нашей фан-страницы с ними, наклеил его.
Кто-либо знает, как я могу выполнить это?
Похоже, это ошибка в Graph API. См. это http://forum.developers.facebook.com/viewtopic.php?id=59063 (пока не могу разместить ссылки)