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

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

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

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

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

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

Ответ 1

Вот несколько способов загрузки фотографий с помощью 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);

Ответ 2

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

//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

Ответ 3

Вы должны сделать несколько вещей, чтобы получить график 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");

код >