2011-08-20 5 views
0

J'écris une application Facebook qui récupère quelques informations sur l'utilisateur et fait quelques manipulations dessus.Obtenir des informations sur l'utilisateur sur Facebook

-je obtenir les autorisations utilisateur comme ceci:

$facebook = new Facebook(array(
    'appId' => APPID, 
    'secret' => 'APPSECRET', 
)); 

$logoutUrl = $facebook->getLogoutUrl(); 

(L'autorisation par défaut est user_info)

$user_profile = $facebook->api('/me'); 

Après les journaux d'un utilisateur, l'application passe par plusieurs pages PHP, et les spectacles un msg. Dans la dernière page PHP, j'essaie d'obtenir à nouveau les informations de l'utilisateur. Mon problème est que sur certains navigateurs (Chrome) cela fonctionne, et sur d'autres navigateurs (IE) ce n'est pas le cas.
Je reçois une exception Oauth pour laquelle je n'ai pas de clé d'authentification valide.

Pouvez-vous voir pourquoi?

Répondre

0

lancer le flux d'authentification dans un tel cas. et si cela se produit toujours, vérifiez si cela est pris en compte dans les paramètres de cookies.

Essayez de définir correctement l'en-tête.

0

La chose est très simple:

D'abord, vous initialisation facebook:

$facebook = new Facebook(array(
    'appId' => APPID, 
    'secret' => 'APPSECRET', 
)); 

Ensuite, vous obtenez l'utilisateur

$user = $facebook->getUser(); 

Et enfin tester s'il un utilisateur ou non, si là vous faites toute la demande à l'API facebook et générez l'URL de déconnexion, sinon vous obtenez l'URL de connexion et rediriger le navigateur à cette URL.

if ($user){ 
    $user_profile = $facebook->api('/me'); 
    $logoutUrl = $this->facebook->getLogoutUrl(); 
else{ 
    $loginUrl = $facebook->getLoginUrl(array('scope' => 'email,user_birthday')); 
    echo '<script type="text/javascript">top.location.href = "'.$loginUrl.'"</script>'; 
} 

Cela devrait fonctionner pour tous les navigateurs parce que j'ai testé, alors bonne chance.

Questions connexes