2010-12-03 5 views
5

Je suis débutant dans le développement d'applications Facebook. Je suis coincé avec un problème d'authentification, je suis en train d'utiliser cette url:"Format de code de vérification non valide." facebook oauth error

https://graph.facebook.com/oauth/access_token?client_id= client_id $ & client_secret = $ client_secret & type = client_credentials & redirect_uri = http://www.wesbite.com/facebook/&scope=email,offline_access

mais je reçois cette erreur: « vérification non valide format de code. "

J'ai essayé de le résoudre pour les trois dernières heures et aucun résultat. J'essaye de google ce message mais apparemment ce n'est pas si populaire.

pouvez-vous s'il vous plaît aider?

Edit: J'utilise cette fonction:

function get_contents($link) 
{ 
if (function_exists('curl_init')) { 
    $curl = curl_init(); 
    $timeout = 0; 
    curl_setopt($curl, CURLOPT_URL, $link); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout); 
    $buffer = curl_exec($curl); 
    curl_close($curl); 
    return $buffer; 
} elseif (function_exists('file_get_contents')) { 
    $buffer = file_get_contents($link); 
    return $buffer; 
} elseif (function_exists('file')) { 
    $buffer = implode('', @file($link)); 
    return $buffer; 
} else { 
    return 0; 
} 
} 

alors je passe l'URL comme paramètre:

$ url = "https://graph.facebook.com/oauth/access_token?client_id= $ client_id & client_secret = $ client_secret & type = client_credentials & redirect_uri = http://www.mywebsite.com/facebook/&scope=email,offline_access ";

echo get_contents($url);

+0

et le code que vous utilisez? – Breezer

+0

peut être utile pour echo $ url avant d'appeler echo get_contents ($ url), pour s'assurer que toutes les variables sont définies. –

+0

Je l'ai fait et aussi vérifié les valeurs et tous sont corrects –

Répondre

9

Je pense que le lien suivant fournit la réponse: http://developers.facebook.com/docs/authentication/#authenticating-users-in-a-web-application

Vous devez appeler https://graph.facebook.com/oauth/authorize avec votre client_id et redirect_uri. Cela vous redirigera ensuite vers redirect_uri, avec un code de vérification dans la chaîne de requête que vous pouvez passer à votre appel https://graph.facebook.com/oauth/access_token (via le paramètre de code) pour échanger un jeton d'accès oAuth.

Bonne chance! :)

+0

Merci beaucoup. J'ai lu cette page plus de 10 fois avant que vous expliquiez le processus (je suppose que je lisais dans le mauvais sens). Une question cependant, j'essaie de rediriger en utilisant l'en-tête (emplacement: xxxx) mais au lieu de la redirection je reçois le bouton facebook. Cliquer dessus me mènerait à la bonne page. Comment puis-je résoudre ce problème? –

+0

Intéressant, cela ressemble à l'utilisation du Facebook JavaScript SDK (http://developers.facebook.com/docs/authentication/#single-sign-on-with-the-javascript-sdk) ? Si c'est le cas, votre code doit s'authentifier directement avec oAuth 2.0 (c'est-à-dire sans avoir besoin des appels ci-dessus) à condition que vous ayez les includes (all.js) et les scripts corrects (par exemple FB.init) en place. Comme indiqué sur la page ci-dessus, vous pouvez vous abonner à l'événement 'auth.login' et rediriger le rappel une fois l'utilisateur authentifié. Si vous n'utilisez pas le SDK JavaScript, essayez de supprimer les balises . – Robarondaz

+0

Merci. J'utilise actuellement le SDK PHP. Je n'ai jamais utilisé js dans aucune partie de l'application. Si j'accède à l'application directement comme ça: www.mywebsite.com/folder (c'est ici que j'économise les fichiers de l'application) Je reçois la bonne page qui est la page des permissions. –

Questions connexes