web-dev-qa-db-fra.com

Quel est censé être le redirect_uri lors de l'obtention du jeton d'accès dans l'application Facebook?

$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
    . $app_id . "&redirect_uri=" . urlencode($my_url) 
    . "&client_secret=" . $app_secret 
    . "&code=" . $code;

Qu'est-ce qui est censé être le redirect_uri? J'ai essayé d'utiliser ceci

'https://graph.facebook.com/oauth/authorize?client_id='.$app_id.'&
redirect_uri='.urlencode($canvas_page).'&scope=email,read_stream,publish_stream';

mais il est revenu avec cette erreur

{
   "error": {
      "message": "Error validating verification code.",
      "type": "OAuthException"
   }
}

Besoin d'aide, merci d'avance.

24
user1004404

Je vais d'abord répondre à ce que devrait être votre URL de redirection

Accédez au tableau de bord de votre application Facebook

https://developers.facebook.com/apps

Sélectionnez votre application dans le menu accordéon à gauche de la page. enter image description here

Il existe une valeur pour l'URL du canevas (ici, c'est ' http: // localhost: 7124 ' qui pointe vers un serveur local.)

L'URL de redirection doit être une URL dans cette URL (site). ie quelque chose comme 'http: // localhost: 7124/home.aspx 'ou' http: // localhost: 7124/main/home.aspx '


Pour obtenir un jeton d'accès, suivez les étapes ci-dessous

Envoyez une demande à

https://www.facebook.com/dialog/oauth?client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&scope=read_stream

Cela vous fournira un code d'authentification d'utilisateur (CODE) pour indiquer que l'utilisateur est connecté.

Ensuite, avec ce code, envoyez une demande à

https://graph.facebook.com/oauth/access_token?client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&client_secret=APP_SECRET&code=CODE

qui vous fournira le jeton d'accès au format access_token = ACCESSTOKEN à l'URL de redirection que vous avez spécifiée.

REMARQUE: L'URL de redirection doit être un chemin à l'intérieur de l'URL de toile de l'application Facebook et ces demandes doivent être soumises à partir du même domaine pointé par l'URL de toile

16
Robin