43 votes

Télécharger une photo dans un album avec l'API graphique de Facebook

Je suis en train de me familiariser avec Facebook la nouvelle API Graphique et aussi loin que je peux aller le chercher et écrire des données assez facilement.

Quelque chose que j'ai du mal à trouver un travail décent de la documentation sur le téléchargement d'images à un album.

Selon http://developers.facebook.com/docs/api#publishing vous devez fournir le message d' argument. Mais je ne suis pas tout à fait sûr de savoir comment le construire.

Âgés de ressources que j'ai lu sont:

Si quelqu'un a plus d'information ou pourrait m'aider à lutter contre le téléchargement de photos vers un album à l'aide de Facebook Graph API, veuillez répondre!

48voto

Brody Robertson Points 3197

Voici quelques différentes façons de télécharger des photos à l'aide de PHP Facebook Graph API. Les exemples supposent que vous avez instancié $facebook de l'objet et de la validité de la session.

1 - Télécharger l'Application par Défaut de l'Album de l'Utilisateur Courant

Cet exemple permettra de télécharger la photo de votre application par défaut de l'album 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);

2 - Télécharger à la Cible de l'Album

Cet exemple permettra de télécharger 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);

22voto

AhDang Points 211

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

7voto

Alex Grande Points 1826

Vous devez faire quelques choses pour que l’API graphique fonctionne avec PHP. Ce code fonctionne. Notez le fileUpload => true ...

De plus, je n'ai jamais réussi à le faire fonctionner avec javascript, donc je fais de l'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");
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X