2012-10-03 37 views
16

Ho seguito questo basic tutorial, ma ottengo:Google Drive: redirect_uri_mismatch

Eroare: redirect_uri_mismatch il redirect URI nella richiesta: urn: ietf: wg: OAuth: 2,0: OOB non corrisponde registrato redirect URI

Nel mio googlings capisco che c'è qualcosa di sbagliato in alcune impostazioni che ho fatto in API Console. Ho abilitato l'API di Drive e ho apportato alcune impostazioni in Accesso API alla tabella. Prendo l'ID del client e il segreto del client e inserisco questi 2 valori nell'origine del client, ma non so cosa mettere nell'URI di reindirizzamento.

Cosa deve contenere l'URI di reindirizzamento?

+1

La guida introduttiva _completamente_ tralascia questa chiave! grazie a tutti! – Ben

risposta

27

L'URI urn:ietf:wg:oauth:2.0:oob è un URI speciale utilizzato per identificare applicazioni fuori dal browser, ad esempio applicazioni non Web (desktop, mobili, riga di comando, ecc.).

Quando si creano le credenziali nella console API, assicuratevi di selezionare "applicazione installata" come tipo di applicazione e il reindirizzamento URI verrà automaticamente impostato come urn:ietf:wg:oauth:2.0:oob e prevenire la "redirect_uri_mismatch" quando si effettua una richiesta.

+0

Secondo [documenti] (https://developers.google.com/accounts/docs/OAuth2InstalledApp#choosingredirecturi), urn: ietf: wg: oauth: 2.0: oob deve essere utilizzato quando la risposta deve essere restituita nel titolo barra dell'agente browser (utile quando il client non può ascoltare su una porta HTTP).Quindi, questo dovrebbe essere usato anche nelle applicazioni in-browser come le estensioni del browser, oltre a ciò che @Claudio ha detto. – dghubble

+0

Si è parlato di "Applicazione installata" nella console delle API. Ho avuto un problema dal momento che stavo usando un "Client ID per l'applicazione web". Risolve il mio problema ora poiché stavo usando un "Client ID per l'applicazione nativa". Grazie Claudio. –

0

Per tali applicazioni Web, definire l'URI come php url in quanto può gestire il token e utilizzare l'unità google.

+0

puoi spiegare cosa intendi? Non capisco cosa hai detto – Baig

5

L'URI

urn:ietf:wg:oauth:2.0:oob 

è applicabile solo a quei client ID di Google che sono stati generati per "applicazioni installate".

Quindi, per risolvere il problema è necessario creare un nuovo ID client e impostare Tipo di applicazione come "applicazione installata". Lì puoi ottenere ClientId e ClientSecret di cui avrai bisogno.

  1. Creare un nuovo progetto Here

  2. Select API dalla barra laterale sinistra e assicurarsi unità SDK è ON

  3. Vai Credientials sotto API, toccare "Crea nuovo ID CLIENTE "

  4. Selezionare Applicazione installata e digitare come iOS e fornire ID bundle (o semplicemente selezionare" Altro ")

  5. Copia ID client & Segreto client da utilizzare nella propria applicazione.

L'URI di reindirizzamento viene generato automaticamente e dovrebbe impedire l'errore che si sta verificando.