Comment contourner facebook méthode de connexion de PHP si vous avez déjà un auth_token valide
-
25-10-2019 - |
Question
J'utilise cette bibliothèque pour l'accès API graphique Facebook dans mon projet CodeIgniter: http://www.haughin.com/code/facebook/
Mon application Web utilise le SDK Facebook JS à côté client d'authentifier les utilisateurs, puis immédiatement après une connexion est terminée ID utilisateur et l'objet session de l'utilisateur sont envoyés à mon serveur via une requête AJAX. Je veux faire un appel à l'API graphique du serveur pour recevoir des informations de base de l'utilisateur, donc je me demande s'il y a une manière que je peux contourner la nécessité d'appeler la méthode Facebook-> login () pour recevoir une session via un Dévier à partir de facebook? Quelqu'un sait comment faire?
La solution
I don't recommend the Facebook SDK at all. You have a lot more control if you do things yourself and it becomes a lot simpler. Just set up a cURL function like:
function curl($url, $request = 'GET'){
$ch = curl_init();
$curlopt = array(
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => $request,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
CURLOPT_USERAGENT => 'facebook-php-2.0',
);
curl_setopt_array($ch, $curlopt);
$response = curl_exec($ch);
if($response === false)
trigger_error(curl_error($ch));
curl_close($ch);
return $response;
}
And then a Facebook api function like:
function fb_api($url, $access_token = false, $request = 'GET'){
$url = 'https://graph.facebook.com/'.$url;
if($access_token)
$url .= (strstr($url, '?') ? '&' : '?').'access_token='.$access_token;
return json_decode(curl($url, $request), true);
}
Then you can make your request to the graph api like:
fb_api('me', $access_token);
Autres conseils
If, for somehow you dont have curl installed, you always can use my Proxy library : http://codeigniter.com/forums/viewthread/186250/