Ich arbeite an einer Rails-Anwendung, die sich im Entwicklungsmodus befindet und sich bei omniauth registrieren kann.
Der Gastgeber ist
http://localhost:3000/
Ich benutze die Edelsteine:
gem 'omniauth'
gem 'omniauth-foursquare'
gem 'omniauth-instagram'
Wenn ich mich bei Foursquare durch Omniauth registriere, ist das überhaupt kein Problem. Alle Einstellungen sind richtig und mein redirect_uri in den Foursquare-Entwicklereinstellungen entspricht dem Host (localhost: 3000).
Wenn ich jedoch genau dasselbe redirect_uri (localhost: 3000) im Instagram-Client-Manager * ausfülle. Instagram gibt mir das:
{
"code": 400,
"error_type": "OAuthException",
"error_message": "Redirect URI does not match registered redirect URI"
}
Basierend auf dieser URL:
https://instagram.com/oauth/authorize?response_type=code&client_id=<ID>&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Finstagram%2Fcallback&state=18415adf24dd97873e61094f67c0fb7a94857fedf93e9d2e&scope=basic
*
Was mache ich nach Instagram falsch und wie sollte das behoben werden?
Ich habe das Problem behoben. localhost:3000/auth/instagram/callback
wurde als redirect_uri hinzugefügt und es hat gut funktioniert.
Ich musste hinzufügen
http://localhost:3000/users/auth/instagram/callback
als meine Rückruf-URI, weil ich Devise verwende.
Wenn Sie einen Umleitungs-URI angeben http: // localhost: 3000 ist nicht das gleiche wie http: // localhost: 3000/ (beachten Sie den nachstehenden Schrägstrich).
Stellen Sie sicher, dass der Rückruf-URI genau übereinstimmt.
Dies ist kein Ruby-spezifisch, aber für alle, die mit dem Wrestling klarkommen, ist es das, was mich überholt hat (Anmerkung: nichts in den obigen Antworten hat für mich funktioniert):
1. Edit your Client on Instagram Developer and uncheck Disable implicit OAuth.
2. Click Update Client to save it.
3. Now go to https://instagram.com/oauth/authorize/?client_id=[CLIENT_ID]&redirect_ur.... Just change [CLIENT_ID] and [REDIRECT_URI] with their values.
4. After that you will be redirected to [REDIRECT_URI]/#access_token=[ACCESS_TOKEN]. Get it and place it on the Instagram Access Token textbox.
(Quelle: https://www.drupal.org/project/instagram_feeds/issues/2140479 )
{"error_type": "OAuthException", "code": 400, "error_message": "Umleitungs-URI stimmt nicht mit registrierter Umleitungs-URI überein"}
So erhalten Sie ein Access-Token von instagram
Ihre Website-URL muss bei der Registrierung von sandbox clien api auf instagram https://www.instagram.com/developer/ identisch sein.
hier haben wir die URL der Website verwendet: https://adlivetech.com Gültige Umleitungs-URIs: https://adlivetech.com/
Für eine Live-Website können Sie einfach ein Access-Token erhalten, indem Sie https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token verwenden.
Ersetzen Sie die oben angegebene URL "CLIENT-ID" durch Ihre Client-ID Ersetzen Sie die oben angegebene URL "REDIRECT-URI". Die Weiterleitungs-URL sollte wie folgt aussehen: http://adlivetech.com
Für das Drupagram-Modul (Drupal 7) wurde Folgendes hinzugefügt: http://localhost:3000/instagram/oauth
als Weiterleitung_uri
Ich habe mich seit Ewigkeiten damit beschäftigt ... ... vielleicht hat sich das geändert, aber: http: // localhost: 3000/users/auth/instagram/int_callback .__ für mich . Das EINZIGE Problem, das ich hatte, war, dass es genau ein falscher Callback-URI war und ich wünschte, ich hätte mich hier auf mein Instagram-Setup konzentriert, anstatt meinen Code zu ändern. Die Fehlermeldung bedeutet alles Ansonsten funktioniert (bisher), sonst würden Sie diese spezielle Fehlermeldung nicht erhalten. Viel Glück !! - lass dich nicht ablenken!
Problem: Oauth2 Instagram API “Der Umleitungs-URI stimmt nicht mit dem registrierten Umleitungs-URI überein
Meine Lösung: Bitte überprüfen Sie die Datei ng-cordova-oauth.js und überprüfen Sie die instagram-Funktion. Stellen Sie sicher, dass der Wert für redirect_uri mit dem Registrieren Ihrer Anwendung in der Entwicklerkonsole für Instagram übereinstimmt. Wenn dies der Fall ist, funktioniert es ordnungsgemäß. Andernfalls wird das oben genannte Problem angezeigt.
Für jeden, der dieses Problem hat und der Umleitungs-URI, der für instagram bereitgestellt wird, genau das gleiche ist wie das, das Sie verwenden, habe ich festgestellt, dass einige Benutzer meine Website-Adresse als http://www.example.com/login
eingaben, als es in meinem instagram-api http://example.com/login
war.
Dann erstellte ich ein PHP-Skript, um festzustellen, ob der String www
in meiner URL vorhanden ist, und dann auf dieselbe Seite neu zu laden, jedoch ohne www
.
if(strpos($_SERVER['HTTP_Host'], 'www.') !== FALSE) {
header("Location: ".str_replace('www.', '', $_SERVER['HTTP_Host'].'/'.$_SERVER['REQUEST_URI']));
}