2016-06-17 28 views
11

Ho approvato per public_content clientId. Per ottenere token di accesso, mando una richiesta di www.instagram.com:Ricezione di "400 Richiesta errata" per/oauth/access_token

GET /oauth/authorize?client_id=MyClientId&redirect_uri=MyRedirectURL&response_type=code&scope=likes+comments+public_content HTTP/1.1` 

Dopo l'autenticazione, il browser mi reindirizza a MyRedirectURL e posso ottenere il codice dall'URL.

Con questo codice mando una richiesta di api.instagram.com:

/oauth/access_token HTTP/1.1 

client_id = MyClientId & client_secret = MyClientSecret & grant_type = authorization_code & redirect_uri = MyRedirectURL & codice = CodeFromURL`

Ma a volte ricevo risposta HTTP/1.1 400 Richiesta errata. Questa situazione continua per alcune ore, e qualche volta per un giorno. È interessante che il problema sia molto instabile. Potrei avere due app client che fanno richieste identiche e un'app funzionerà correttamente, mentre l'altra fallirà allo stesso tempo. Sembra che sia un problema da qualche parte nell'infrastruttura di Instagram.

+2

Sto avendo lo stesso problema – shakked

+0

Ho anche due app che usano le stesse credenziali API, forse ha qualcosa a che fare con quello – shakked

+0

Ho un problema simile: http://stackoverflow.com/questions/37898044/instagram -api-prevent-redirection-to-ios-app-upon-successful-login – JAHelia

risposta

1

Instagram non supporta più schemi personalizzati per gli url di richiamata. Questo era il mio problema, l'ho cambiato in https e il problema è stato risolto.

+0

Hai un link a una dichiarazione ufficiale? – KABoissonneault

+0

Non che io abbia visto, ma ci sono stati molti cambiamenti nei loro termini e altre cose recentemente. –

+0

Se non si ha alcun collegamento con la dichiarazione ufficiale, come si può essere così sicuri? –

0

Penso che dovresti preferire this document di Instagram.

È possibile ricevere risposte con un codice di risposta HTTP 400 (Bad richiesta), se viene rilevato un comportamento di spam da una persona che utilizza la vostra applicazione. Questi errori non sono correlati alla limitazione della velocità.

+0

C'è un modo per riconoscere questa situazione? –

+0

Non sono sicuro, ma non hai modo di riconoscerlo. –

0

Sembra che non sia possibile utilizzare http://localhost/... nell'URL di richiamata. Instagram potrebbe averlo limitato.

Ha funzionato per me, quando ho aggiunto l'Ip live del mio server aws. ad esempio http://xx.xx.xx.xx/.. anziché localhost.