2012-09-08 1 views
4

Je reçois l'erreur "Un jeton d'accès actif doit être utilisé pour demander des informations sur l'utilisateur actuel". Il semble y avoir des tonnes d'articles et d'idées, mais je suis très confus et il semble que les choses changent aussi. Beaucoup disent d'utiliser l'accès hors ligne, mais cela semble être parti. J'ai trouvé this article.meilleure façon d'obtenir un nouveau access_token en utilisant PHP sdk

Quelqu'un at-il un exemple d'utilisation du PHP SDK?

J'ai essayé de faire quelque chose comme ci-dessous mais ça ne semble pas fonctionner; $FBuser est encore nul:

$token_url = "https://graph.facebook.com/oauth/access_token?" . 
          "client_id=" . FB_APP_ID . 
          "&client_secret=" . FB_APP_SECRET . 
          "&grant_type=client_credentials"; 
list($name, $ACCESS_TOKEN) = explode("=", file_get_contents($token_url)); 
$facebook->setAccessToken(ACCESS_TOKEN); 
$FBuser = $facebook->getUser(); 

Répondre

0

Essayez ceci (changer le paramètre de portée selon cette link):

// Checks if the user granted the access (after the redirection bellow) 
$user = $facebook->getUser(); 
if(!$user) { 
    // If not: Retrieves the login url in order to redirect the user 
    $url = $facebook->getLoginUrl(array('scope' => 'user_about_me', 'grant_type' => 'client_credentials')); 
    // redirect here (after accepting the user will be redirect back to the same url. In other words this script, that will check again if the user is authenticated) 
} else { 
    // Now the user is authenticated 
    $user_data = $facebook->api('/me'); 
    $user_token = $facebook->getAccessToken(); 
    // Saves the access token 
} 
+0

Ceci est une mauvaise façon! offline_access est obsolète! 'Remarque: Le 3 octobre 2012, l'autorisation offline_access sera supprimée. ' https://developers.facebook.com/docs/authentication/ – Roni

+0

@Roni Vous avez voté simplement à cause de l'attribut offline_access? C'est juste un paramètre, il ne rend pas la réponse fausse -.- ' –

+1

Great! vous donnez un mauvais exemple à quelqu'un, en ne suivant pas les directives de Facebook. et oui, le vote négatif est parce que "quelque chose de ce genre" n'est pas une bonne réponse, si vous ne voulez pas aider au moins à corriger votre exemple de code. – Roni

Questions connexes