2013-04-24 5 views
8

Sto lavorando all'app per iPad e ho bisogno di integrare Instagram. Ho trovato un campione che funziona bene. Ma venendo alla mia app mi sono registrato come nuovo utente nell'account sviluppatore instagram. Sebbene seguo i passaggi indicati nei documenti API di Instagram, viene visualizzato un messaggio di errore "L'URI di reindirizzamento non corrisponde all'URI di reindirizzamento registrato"."UIR di reindirizzamento non corrisponde all'URI di reindirizzamento registrato" nell'integrazione di instagram nell'app IOS

Qualcuno può guidarmi su come generare Redirect URI?

Ecco cosa ho fatto su Instagram. enter image description here

E nel mio simulatore sto ottenendo questo errore:

enter image description here

+0

Probabilmente non hai digitato correttamente il tuo URL di reindirizzamento o "/" potrebbe avere un impatto, fai attenzione ai simboli speciali e agli spazi nelle stringhe. –

risposta

21

Uso REDIRECT URI: igeb6240d263fb4736b3740af87edd18ea: // autorizza
per la vostra applicazione

tua REDIRECT URI dovrebbe essere: "ig "+" your clientId "+": // autorizza "

+6

Questo non funziona perché non posso inserire redirect_uri non http/https nel portale degli sviluppatori di Instagram, e Instagram nega qualsiasi redirect_uris non registrato. – Eonil

+3

@Sujal Questo URL non è accettabile sul portale degli sviluppatori. ("Ig" + "your clientId" + ": // authorize") Quale URL esatto dobbiamo aggiungere sul portale Dev di Instagram – Rajesh

+0

@Sujal Accetto il protocollo non http (s). Non possiamo accedere a myapp: // authorize. Ho provato ad abilitare la modalità implicita deselezionando Disabilita OAuth implicito nella scheda Sicurezza nel portale. Ma ancora non ha accettato non http (s). Come sei riuscito a farlo funzionare? –

4

Puoi utilizzare quello che vuoi come URI di reindirizzamento. Devi passare l'URI di reindirizzamento come parametro Get nella richiesta di autorizzazione.

Assicurarsi che entrambi corrispondano! È possibile navigare verso le sottocartelle o aggiungere ulteriori parametri ad esso, ma l'inizio deve rimanere lo stesso.

Vorrei suggerire di non utilizzare il tuo sito Web, ma di collegare a uno dei tuoi schemi di URL di app. Per una guida su come impostare quelle up, guarda qui: http://www.idev101.com/code/Objective-C/custom_url_schemes.html

Così, per esempio si potrebbe utilizzare myapp:// come predefinito reindirizzare URI, che si desidera registrare con Instagram.

All'interno dell'applicazione è possibile aggiungere ulteriori parametri. Instagram li invierà all'URI di reindirizzamento, in modo che tu possa leggerli di nuovo nel tuo AppDelegate o sul tuo server. Assicurati di codificare correttamente l'URI di reindirizzamento. Il modo più semplice per farlo potrebbe essere:

NSString *unescaped = [NSString stringWithFormat:@"myapp://?someparameter=%@",theparametersvalue]; 
NSString *redirectURI = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
                     NULL, 
                     (__bridge CFStringRef) unescaped, 
                     NULL, 
                     CFSTR("!*'();:@&=+$,/?%#[]"), 
                     kCFStringEncodingUTF8)); 

Ora inserire redirectURI insieme con il vostro cliente id in questo URL e sparare la richiesta:

https://api.instagram.com/oauth/authorize/?client_id=YOURCLIENTID&redirect_uri=YOURREDIRECTURI&response_type=code 

Se avete bisogno di più i permessi di base, controllo fuori gli ambiti nella documentazione.

+2

È possibile registrare solo http: // e https: // URI nel portale Instagram, quindi non vedo come questo potrebbe funzionare ... – Zigglzworth