Google OAuth2 Autorizzazione dell’errore token OAuth: redirect_uri_mismatch

Sto creando e autorizzando un token OAuth secondo questa pagina web: https://code.google.com/p/google-mail-oauth2-tools/wiki/OAuth2DotPyRunThrough

Ma ho ricevuto questo errore: redirect_uri_mismatch.

The redirect URI in the request: urn:ietf:wg:oauth:2.0:oob did not match a registered redirect URI from_login=1 cookie_policy_enforce=false scope=https://mail.google.com/ response_type=code access_type=online redirect_uri=urn:ietf:wg:oauth:2.0:oob as=-80019291b2cb8ed display=page pli=1 client_id=...... authuser=0 hl=en 

Ho pensato che potesse essere utile: authorization Google OAuth 2 – Errore: redirect_uri_mismatch

Ma quando provo a registrare l’url di reindirizzamento sulla mia console, mi è stato detto che l’url non è valido.

Redirect_uri (urn: ietf: wg: oauth: 2.0: oob) è applicabile solo a quegli ID client Google che sono stati generati per le applicazioni installate . Puoi andare alla tua console e creare un nuovo ID client di questo tipo.

Nel caso in cui tu stia utilizzando il pulsante javascript di Google+ (con l’applicazione web), devi inserire postmessage invece dell’URI effettivo. Mi ci vuole quasi un’intera giornata per capire questo, perché i documenti di Google non lo supportano chiaramente per qualche motivo.

Quando registri la tua app su https://code.google.com/apis/console e crei un ID cliente, hai la possibilità di specificare uno o più URI di reindirizzamento. Il valore del parametro redirect_uri sull’URI auth deve corrispondere esattamente a uno di essi.

Si noti che il valore ‘redirect_uri’ della richiesta token deve essere uguale al valore ‘redirect_uri’ della richiesta di authorization.

Per la mia applicazione web ho corretto il mio errore scrivendo

 instead of : http://localhost:11472/authorize/ type : http://localhost/authorize/ 

Per tutti coloro che sono ancora convinti di questo problema, devi avere la “Piattaforma” impostata su “Nativo (Windows Mobile, Blackberry, desktop, dispositivi e altro)” quando registri la tua app in Google Cloud Console, altrimenti non ti permette di usare ‘urn: ietf: wg: oauth: 2.0: oob’ come URI di reindirizzamento.

Hai perso 4 o 5 ore con questo … usa ‘postmessage’ come valore del parametro, non il vero Redirect Uri …

 $client->setRedirectUri('postmessage'); 

Nel mio caso, invece di creare app web, ho semplicemente scelto Altro in: ID client OAuth> Altro

e questo è tutto.

2015 luglio luglio – l’accesso di lavoro è iniziato a causare l’errore 400 con Error: redirect_uri_mismatch

ho postato una soluzione su una SO QUESTION simile: cambiato lo script di caricamento in