J'essaie de me familiariser avec la nouvelle API Graph de Facebook et jusqu'à présent, je peux récupérer et écrire des données assez facilement.
Quelque chose que j'ai du mal à trouver une documentation décente est le téléchargement d'images vers un album.
Selon http://developers.facebook.com/docs/api#publishing , vous devez fournir l'argument du message . Mais je ne sais pas trop comment le construire.
Les anciennes ressources que j'ai lues sont:
Si quelqu'un a plus d'informations ou pourrait m'aider à télécharger des photos vers un album en utilisant Facebook Graph API, répondez!
Voici différentes façons de télécharger des photos à l'aide de l'API Facebook Graph PHP. Les exemples supposent que vous avez instancié l'objet $ facebook et que vous avez une session valide.
Cet exemple télécharge la photo dans votre album d'applications par défaut de l'utilisateur actuel. Si l'album n'existe pas encore, il sera créé.
$facebook->setFileUploadSupport(true);
$args = array('message' => 'Photo Caption');
$args['image'] = '@' . realpath($FILE_PATH);
$data = $facebook->api('/me/photos', 'post', $args);
print_r($data);
Cet exemple télécharge la photo dans un album spécifique.
$facebook->setFileUploadSupport(true);
$args = array('message' => 'Photo Caption');
$args['image'] = '@' . realpath($FILE_PATH);
$data = $facebook->api('/'. $ALBUM_ID . '/photos', 'post', $args);
print_r($data);
Voici le code qui a fonctionné pour moi:
//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));
Lien vers la documentation: http://developers.facebook.com/docs/reference/api/photo
Vous devez faire quelques choses pour que l'api du graphique fonctionne avec php. Ce code fonctionne. Remarquez le fileUpload => true ...
Je n'ai également jamais réussi à le faire fonctionner avec javascript, donc je fais ajax à ceci:
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");
</code>