Загрузить фотографию в альбом с помощью API-интерфейсов Facebook

Я пытаюсь ознакомиться с новым API-интерфейсом Facebook, и до сих пор я могу легко и легко получать и записывать некоторые данные.

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

Согласно http://developers.facebook.com/docs/api#publishing, вам нужно указать аргумент сообщения . Но я не совсем уверен, как его построить.

Старые ресурсы, которые я прочитал:

  • http://wiki.auzigog.com/Facebook_Photo_Uploads

  • https://developers.facebook.com/docs/reference/rest/photos.upload/

Если у кого-то есть дополнительная информация или вы можете помочь мне загрузить фотографии в альбом с помощью Facebook Graph API, ответьте!

Вот несколько способов загрузки фотографий с помощью PHP Facebook Graph API. В примерах предполагается, что вы создали экземпляр объекта $ facebook и имеете действующий сеанс.

1 – Загрузить в приложение по умолчанию Альбом текущего пользователя

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

$facebook->setFileUploadSupport(true); $args = array('message' => 'Photo Caption'); $args['image'] = '@' . realpath($FILE_PATH); $data = $facebook->api('/me/photos', 'post', $args); print_r($data); 

2 – Загрузка в целевой альбом

Этот пример загрузит фотографию в конкретный альбом.

 $facebook->setFileUploadSupport(true); $args = array('message' => 'Photo Caption'); $args['image'] = '@' . realpath($FILE_PATH); $data = $facebook->api('/'. $ALBUM_ID . '/photos', 'post', $args); print_r($data); 

Вот код, который работал для меня:

 //upload photo $file= '/path/filename.jpg'; $args = array( 'message' => 'Photo from application', ); $args[basename($file)] = '@' . realpath($file); $ch = curl_init(); $url = 'http://graph.facebook.com/'.$album_id.'/photos?access_token='.$access_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 photo id print_r(json_decode($data,true)); 

Ссылка на документацию: http://developers.facebook.com/docs/reference/api/photo

Вы должны сделать несколько вещей, чтобы получить график api для работы с php. Этот код работает. Обратите внимание на fileUpload => true …

Я также никогда не мог заставить его работать с javascript, поэтому я делаю ajax для этого:

require './facebook.php';

 $facebook = new Facebook(array( 'appId' => 'ID', 'secret' => 'SECRET', 'fileUpload' => true, 'cookie' => true // enable optional cookie support )); $facebook->setFileUploadSupport(true); # File is relative to the PHP doc $file = "@".realpath("../../_images/stuff/greatness.jpg"); $args = array( 'message' => 'Photo Caption', "access_token" => "urtoken", "image" => $file ); $data = $facebook->api('/ALBUMID_GOES_HERE/photos', 'post', $args); if ($data) print_r("success");