Загрузить фото в альбом с помощью API Graph Facebook - PullRequest
43 голосов
/ 27 апреля 2010

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

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

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

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

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

Ответы [ 3 ]

48 голосов
/ 09 июня 2010

Вот несколько различных способов загрузки фотографий с использованием 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);
22 голосов
/ 28 апреля 2010

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

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

7 голосов
/ 29 января 2011

Вы должны сделать несколько вещей, чтобы заставить API api работать с php. Этот код работает. Обратите внимание на fileUpload => true ...

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

require './facebook.php'; </p> <pre><code>$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");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...