Question: Comment télécharger une image depuis mon serveur web vers Facebook via FB API? Je suis en train d'écrire une application qui récupère des images de l'album photo de l'utilisateur, apporte quelques modifications (par exemple en ajoutant un filigrane) puis le renvoie à l'album photo.Télécharger une image avec l'API facebook
Le code que j'utilise pour télécharger la photo est la suivante
<?php
include_once("api/facebook.php");
include_once("config.php");
include_once("utils.php");
include_once("bemyfans.php");
$facebook=new Facebook($api_key,$app_secret);
$facebook->require_frame();
$user=$facebook->require_login();
echo "<p>Hello <fb:name useyou='false' uid=\"$user\"/></p>";
$args = array(
'api_key' => $api_key,
'call_id'=>microtime(true),
'v'=>'1.0',
'format' => 'JSON'
);
$args['Lenna.png']="@/home/thoai/htdocs/apps/bemyfans/Lenna.png";
signRequest($args,$secret);
$ch = curl_init();
$url = 'http://api.facebook.com/restserver.php?method=photos.upload';
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);
if ($data = curl_exec($ch)) echo "done";
echo $data;
function signRequest(&$args, $secret){
ksort($args);
$sig = '';
foreach($args as $k => $v){
$sig .= $k . '=' . $v;
}
$sig .= $secret;
$args['sig'] = md5($sig);
}
?>
Il ne fonctionne tout simplement pas. Plus spécifiquement, je reçois toujours un message "Signature incorrecte".
Quel est le problème avec le code ???
Quel est le '' @ dans '$ args [ 'Lenna.png'] =" @/home/Thoai/htdocs/apps/bemyfans/Lenna.png ";'? –
Ouais, qu'est-ce que c'est? – timdev
cURL enverra le contenu du fichier et non le nom de fichier. – thoaionline