Загрузка изображения на facebook

Я пытаюсь загрузить изображение в галерею на странице поклонника facebook, вот мой код до сих пор,

$ch = curl_init(); $data = array('type' => 'client_cred', 'client_id' => 'app_id','client_secret'=>'secret_key',' redirect_uri'=>'http://apps.facebook.com/my-application/'); // your connect url here curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/oauth/access_token'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $rs = curl_exec($ch); curl_close($ch); $ch = curl_init(); $data = explode("=",$rs); $token = $data[1]; $album_id = '1234'; $file= 'http://img.ruphp.com/php/sketch.jpg'; $data = array(basename($file) => "@".realpath($file), //filename, where $row['file_location'] is a file hosted on my server "caption" => "test", "aid" => $album_id, //valid aid, as demonstrated above "access_token" => $token ); $ch2 = curl_init(); $url = "https://graph.facebook.com/".$album_id."/photos"; curl_setopt($ch2, CURLOPT_URL, $url); curl_setopt($ch2, CURLOPT_HEADER, false); curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, false); curl_setopt($ch2, CURLOPT_POST, true); curl_setopt($ch2, CURLOPT_POSTFIELDS, $data); $op = curl_exec($ch2); 

Когда я повторяю $ token, я, похоже, получаю токен, но когда я запускаю скрипт, я получаю эту ошибку, {"error": {"type": "OAuthAccessTokenException", "message": "Требуется токен доступа чтобы запросить этот ресурс. "}, я НЕ знаю, почему это делается!

В основном, что я делаю в этом коде, вы получаете токен доступа с завитком, а затем загружаете фотографию в свой альбом также через завиток, но я продолжаю получать эту ошибку!

Любая помощь будет оценена, спасибо!

Хорошо, он работает, вот код, предполагая, что у вас есть действующий сеанс.

  $token = $session['access_token']; //upload photo $file= 'photo.jpg'; $args = array( 'message' => 'Photo from application', ); $args[basename($file)] = '@' . realpath($file); $ch = curl_init(); $url = 'https://graph.facebook.com/me/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); 

Это загрузит указанное изображение в галерею держателей сессий, он создаст альбом, если его нет, также вы можете получить доступ к токену через массив сеансов, как показано выше. Надеюсь, это поможет кому-то.

Возможно, у вашего приложения нет необходимых разрешений.

Чтобы запросить разрешения через OAuth, используйте аргумент scope в вашем запросе авторизации и включите список всех разрешений, которые вы хотите запросить.

http://developers.facebook.com/docs/authentication/permissions