2012-05-29 25 views
5

Sto usando seguente codice per recuperare i tuoi amici access tokenfacebook token di accesso 400 Richiesta

string url = "https://graph.facebook.com/oauth/access_token?" + 
         "client_id={0}" + 
         "&redirect_uri={1}" + 
         "&client_secret={2}" + 
         "&code={3}"; 
      url = string.Format(url, clientId, redirectUri.EncodeUrl(), clientSecret, code); 
      //Create a webrequest to perform the request against the Uri 
      WebRequest request = WebRequest.Create(url); 
      try 
      { 
       //read out the response as a utf-8 encoding and parse out the access_token 
       using (WebResponse response = request.GetResponse()) 
       { 
        using (Stream stream = response.GetResponseStream()) 
        { 
         //string urlRedirects = response.ResponseUri.ToString(); 
         Encoding encode = Encoding.GetEncoding("utf-8"); 
         if (stream != null) 
         { 
          StreamReader streamReader = new StreamReader(stream, encode); 
          string accessToken = streamReader.ReadToEnd().Replace("access_token=", ""); 
          streamReader.Close(); 
          response.Close(); 
          return accessToken; 
         } 
        } 
       } 
      } 
      catch 
      { 
       return null; 
      } 

tuttavia sono costantemente ricevendo questo messaggio di errore ambiguo

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

ho controllato il codice 100 "Parametro non valido" non significa molto per me affatto.

qualcuno ha avuto problemi simili?

+0

Prova questo: http://stackoverflow.com/questions/8240626/facebook-oauth-error-validating-verification-code-sometimes-happen – Thomas

+0

@Thomas, sfortunatamente non lo stesso problema –

risposta

1

È necessario inviare l'utente alla pagina di accesso di Facebook per ottenere uno code valido. Il codice dovrebbe quindi essere utilizzato per ottenere l'access_token per l'utente.

Seguire lo Authentication Guide.

+0

L'ho già fatto nel codice precedente. la parte 'codice' sta funzionando. come ho detto la 400 cattiva richiesta avviene quando richiedo il token di autenticazione –

+0

L'errore dice che c'è qualcosa di sbagliato nel codice, quindi assicurati che non venga modificato o modificato in alcun modo. Potrebbe essere la causa del problema. –

+0

+1 per recuperare dal downvote. Anche se questo non ha risolto il problema, non merita comunque un downvote. Può aiutare gli altri. –

4
  1. controllare si sta aggiungendo il codice corretto nella url Per esempio

    http://www.xyz.com/?code=AQC399oXame3UKmoAMYnqkZOEXPDNa8ZUFEY9sc6I4YNQnNT-ZgHzpMNnQVZrCUBZVqJRIB1QrXC5xW58_8MNIgQol_PaQvYssUM8OiKjSY5aoqGLBMuCeeHsSqP_mRTd1xiK0iretZcXwMm_27lFYrWFw345Mxod_lfJuB8zI13E8wJUQiArXW_ZlGLNcyxh20#_=_ 
    

codice deve essere

codice
code = AQC399oXame3UKmoAMYnqkZOEXPDNa8ZUFEY9sc6I4YNQnNT-ZgHzpMNnQVZrCUBZVqJRIB1QrXC5xW58_8MNIgQol_PaQvYssUM8OiKjSY5aoqGLBMuCeeHsSqP_mRTd1xiK0iretZcXwMm_27lFYrWFw345Mxod_lfJuB8zI13E8wJUQiArXW_ZlGLNcyxh20 

non dovrebbe includere seguito alla fine

#_=_ 

Se sopra non ha risolto il problema


2. redirect_uri deve terminare con/

redirect_uri=http://www.xyz.com/ 

seguito le dà alcune volte sopra menzionati errore

redirect_uri=http://www.xyz.com 


3. A LSO assicurati che l'app su Facebook e Sito Web con Fac ebook Accesso sono impostati con lo stesso addresss es http://www.xyz.com/

+1

Wow, ho avuto lo stesso problema (nessuna barra finale). Difficile credere che si ottenga una risposta di errore 400 Richiesta errata quando viene omessa. – Mike

+1

L'assenza di una barra finale non ha avuto effetto su di me. – dman

0

Ho anche avuto il messaggio di errore 400, quando la mia app id e segreta erano sbagliate (avevo incasinato lo sviluppo e la produzione di id-s e segreti).

Fixing (guardate anche per l'host corretto) risolto questo problema per me.

Problemi correlati