2011-03-04 12 views
5

Estoy tratando de recibir un token de acceso de Facebook. ¡He estado golpeando mi cabeza contra esto por unas noches y espero que otro par de ojos me ayuden!Problema de flujo lateral del servidor de Facebook para el token de acceso: "Error al validar el código de verificación".

El flujo del lado del servidor de Facebook, tal como se documenta en https://developers.facebook.com/docs/authentication/, establece que la URL del token de acceso debe tener este formato.

https://graph.facebook.com/oauth/access_token? 
    client_id=YOUR_APP_ID&redirect_uri=YOUR_URL& 
    client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE 

Mi limpiados URL es (modificado los valores de la client_id, client_secret, y el código):

https://graph.facebook.com/oauth/access_token?client_id=000000000000000&redirect_uri=http%3a%2f%2flocalhost%3a57260%2f&client_secret=00000aa0a000a0a000000aaaa0000a00&code=0.aAaAaa_aaAaaaAAaAaA_aa__.0000.0000000000-0000000000|aAAa0AAaa0AA0aAAAAaAA0Aa0a0 

El error que recibo es

{ 
    "error": { 
     "type": "OAuthException", 
     "message": "Invalid verification code format." 
    } 
} 

que he visto varias publicaciones mencionan que el redirect_uri debe terminar con una barra inclinada ("/"), y tengo eso provisto. La única cosa en la URL que me parece sospechosa es el número de puerto como mi redirect_uri http://localhost:57260/ ya que es a lo que Visual Studio le asigna mi dirección de desarrollo. Esto coincide con la URL de mi sitio en la configuración de la aplicación de Facebook.

¡Gracias de antemano!

Respuesta

15

error más común que tuve es que redirect_uri debe coincidir exactamente en las dos direcciones:

  1. https://www.facebook.com/dialog/oauth? client_id = YOUR_APP_ID & redirect_uri = YOUR_URL & scope = email, read_stream
  2. https://graph.facebook.com/oauth/access_token? client_id = YOUR_APP_ID & redirect_uri = YOUR_URL & client_secret = YOUR_APP_SECRET & código = THE_CODE_FROM_ABOVE

Su url muestra return_uri parece demasiado corto (menos que hacer la autenticación en la raíz del sitio).

+1

Interesante ... La URL de mi sitio de Facebook es "http: // localhost: 57260 /" y esto es lo que pensé que debería encontrar. Mi facebook.com/dialog/oauth/ redrect_uri es "http: // localhost: 57260/FacebookAuth.aspx". Usted está diciendo que access_token redirect_uri debería estar usando "http: // localhost: 57260/FacebookAuth.aspx" en lugar de "http: // localhost: 57260 /", ¿correcto? Voy a intentar esto más tarde esta noche. – proudgeekdad

+1

haciendo coincidir el redirect_uri exactamente tanto en/oauth/como en el access_token resolvió el problema. Gracias, Alexei! – proudgeekdad

+0

@proudgeekdad ¡Trabajó para mí! Gracias, mutch! – GameScripting

Cuestiones relacionadas