Voici votre exemple de travail. il a une redirection et fonctionne entièrement en php, je n'ai pas fait javascript parce que c'est plus facile et plus rapide à écrire. La principale différence est que le code renvoyé après la page d'autorisation est uniquement un code qui vous permet d'extraire le jeton d'accès réel avec votre secret client. sinon n'importe qui pourrait obtenir un jeton d'accès pour votre application ou vous devrez passer votre jeton secret dans l'url. c'est la raison de la deuxième étape. en javascript, nous n'avons pas besoin de cela parce que facebook redirige uniquement vers un domaine whitelisted et que le jeton d'accès est dans le fragment de l'URL après la balise # le serveur ne peut y accéder, seul le client. et ceci est garanti pour être le vôtre, car votre domaine doit être ajouté à la liste blanche. mais il faut plus d'interaction client ... bien quand même. vous pouvez utiliser le code que j'ai écrit pour yuo et vous pouvez aussi le faire dans un popup. vous avez juste à passer vos variables à la forme ou quoi que vous fassiez, mais cela ne devrait pas être un problème. Je l'ai fait de cette façon parce que vous avez dit que vous en aviez besoin en php. un bon exemple javascript peut être trouvé sur la page facebook connect ici: http://developers.facebook.com/docs/guides/web#login
des questions? commentaire! Ps: je mets le signe @ devant la fonction file_get_contents parce que vous pourriez gêcher les erreurs ssl, vous devriez utiliser curl pour cela et gérer les erreurs!
Enregistrez ce fichier sous whatever.php à votre serveur, vérifiez les 4 variables de configuration dans le haut et a frappé
<?
// your app id
$app_id = "123";
// your secret token
$mysecret = '***';
// your website correctly set up in facebook app config
$redirecturl = "http://www.yourdomain.com/whatever/thisfile.php?action=authorized";
// what you want to fetch
$scopes = array('email','user_interests'); // whatever you want
if($_GET['action'] == 'authorize') {
$url = "https://graph.facebook.com/oauth/authorize?client_id=".$app_id."&redirect_uri=";
$url .= urlencode($redirecturl);
$url .= "&display=popup";
$url .= "&scope=".implode(',',$scopes);
header("Location: $url");
exit();
} else if($_GET['action'] == 'authorized') {
$code = $_GET['code'];
$tokenurl = 'https://graph.facebook.com/oauth/access_token'.
'?client_id='.$app_id .
'&redirect_uri='.urlencode($redirecturl).
'&client_secret='.$mysecret.
'&code='.$code;
$token = @file_get_contents($tokenurl);
$token = preg_match('/access_token=(.*)&/',$token,$extracted_token);
$token = $extracted_token[1];
$dataurl = 'https://graph.facebook.com/me?access_token='.$token;
$result = @file_get_contents($dataurl);
$data = json_decode($result);
echo "<pre>".print_r($data,true)."</pre>";
} else {
?><a href="?action=authorize">click here to immport your data</a><?
}
?>
Pouvez-vous s'il vous plaît fournir votre code php qui récupère les données utilisateur? – serg
ok, je suis de bonne humeur aujourd'hui, vous obtiendrez le code complet tout de suite;) –
votre réponse est ici :) –