Ich habe wirklich Probleme damit, wie ich mein Zugriffstoken für Instagram erhalten soll.
Ich habe einen neuen Client registriert und dann diese URL verwendet
um die Client-ID einzugeben und die URL umzuleiten.
Ich wurde dann zu einer Seite weitergeleitet, auf der ein Code in der URL angezeigt wurde, aber von dort habe ich keine Ahnung, wo id dann mein Zugriffstoken erhält.
instagram-api
Gerry Mckay
quelle
quelle
Antworten:
Der Link zur offiziellen API-Dokumentation lautet http://instagram.com/developer/authentication/.
Longstory short - zwei Schritte:
Holen Sie sich den Code
Öffnen Sie https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code mit Informationen von http://instagram.com/developer/clients/manage/
Zugriffstoken erhalten
quelle
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code
direkt abzurufen? Oder brauche ich wirklich einen anderen Endpunkt, um die Code-Rückgabe zu erhalten? Es ist kompliziert und nervighttp://your-redirect-uri#access_token=ACCESS-TOKEN
Fast alle Antworten, die bisher veröffentlicht wurden, beziehen sich nur auf den Umgang mit Zugriffstoken im Front-End nach dem clientseitigen "impliziten Authentifizierungs" -Verfahren von Instagram. Diese Methode ist weniger sicher und wird gemäß den API-Dokumenten von Instagram nicht empfohlen.
Angenommen, Sie verwenden einen Server, liefern die Instagram-Dokumente keine eindeutige Antwort zum Austausch eines Codes gegen ein Token, da sie nur ein Beispiel für eine cURL-Anforderung enthalten. Im Wesentlichen müssen Sie eine POST-Anfrage an ihren Server mit dem bereitgestellten Code und allen Informationen Ihrer App senden, und sie geben ein Benutzerobjekt zurück, das Benutzerinformationen und das Token enthält.
Ich weiß nicht, in welcher Sprache Sie schreiben, aber ich habe dies in Node.js mit dem Anforderungs-npm-Modul gelöst, das Sie hier finden .
Ich habe die URL analysiert und diese Informationen verwendet, um die Post-Anfrage zu senden
Ersetzen Sie natürlich das configAuth-Zeug durch Ihre eigenen Informationen. Sie verwenden Node.js wahrscheinlich nicht, aber hoffentlich hilft Ihnen diese Lösung dabei, Ihre eigene Lösung in die Sprache zu übersetzen, in der Sie sie verwenden.
quelle
Ich habe das gleiche Problem schon einmal, aber ich ändere die URL in diese
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token
quelle
Die Instagram-API ist nicht nur für Sie gedacht, sondern für jeden Instagram-Benutzer, der sich möglicherweise bei Ihrer App authentifiziert. Ich habe die Anweisungen auf der Instagram Dev-Website befolgt . Mit der ersten (expliziten) Methode konnte ich dies ganz einfach auf dem Server tun.
Schritt 1) Fügen Sie Ihrer Webseite einen Link oder eine Schaltfläche hinzu, auf die ein Benutzer klicken kann, um den Authentifizierungsprozess zu starten:
YOUR_CLIENT_ID
undYOUR_REDIRECT_URI
wird Ihnen gegeben, nachdem Sie Ihre App erfolgreich im Instagram-Backend registriert habenYOUR_CLIENT_SECRET
.Schritt 2) An der URI, die Sie für Ihre App definiert haben
YOUR_REDIRECT_URI
, müssen Sie die Antwort vom Instagram-Server akzeptieren. Der Instagram-Server gibt Ihnen einecode
Variable in der Anfrage zurück. Dann müssen Sie diesecode
und andere Informationen zu Ihrer App verwenden, um eine weitere Anfrage direkt von Ihrem Server zu stellen, um die zu erhaltenaccess_token
. Ich habe dies in Python mit dem Django-Framework wie folgt gemacht:direkter Django zur
response
Funktion inurls.py
:Hier ist die
response
Funktion, die die Anfrage bearbeitetviews.py
:Dies ist nur eine Möglichkeit, aber der Prozess sollte in PHP oder einer anderen serverseitigen Sprache nahezu identisch sein.
quelle
Der einfache Weg, der 2019 funktioniert
Deaktivieren Sie implizite Oauth unter der Sicherheitsauthentifizierung und laden Sie dann Folgendes:
Geben Sie REDIRECT-URI in Ihrem Konto an und geben Sie es genau wie angegeben ein.
quelle
Das Zugriffstoken wird als URI-Fragment zurückgegeben, nachdem Sie die Anwendung zur Verwendung Ihrer Instagram-Daten autorisiert haben. Es sollte ungefähr so aussehen:
quelle
Versuche dies:
http://dmolsen.com/2013/04/05/generating-access-tokens-for-instagram/
Nachdem Sie den Code erhalten haben, können Sie Folgendes tun:
quelle
100% arbeiten mit diesem Code
quelle
Das hat bei mir gut funktioniert:
http://jelled.com/instagram/access-token
Zu Ihrer Information, ich habe es in Kombination mit dem jQuery Instagram-Plugin verwendet, das Sie hier finden. http://potomak.github.com/jquery-instagram
quelle
Wenn Sie Anweisungen suchen, lesen Sie in diesem Artikel aus Post . Wenn Sie C # ASP.NET verwenden, schauen Sie sich dieses Repo an .
quelle
Mit https://www.hurl.it/ konnte ich Folgendes sehen: {"code": 400, "error_type": "OAuthException", "error_message": "Übereinstimmender Code wurde nicht gefunden oder wurde bereits verwendet." }}
Also: Sie müssen für jede Anfrage einen neuen Code erhalten.
quelle
Wenn Sie Ihre Serverseite nicht erstellen möchten, z. B. nur auf einer Clientseite (Web-App oder mobile App), können Sie eine implizite Authentifizierung auswählen .
Stellen Sie, wie im Dokument angegeben, zuerst eine https-Anfrage mit
Geben Sie Ihre CLIENT-ID und die von Ihnen angegebene REDIRECT-URL ein .
Dann geht es zur Anmeldeseite, aber das Wichtigste ist, wie Sie das Zugriffstoken erhalten, nachdem sich der Benutzer korrekt angemeldet hat.
Nachdem der Benutzer auf die Anmeldeschaltfläche mit dem richtigen Konto und Kennwort geklickt hat, wird die Webseite zu der von Ihnen angegebenen URL umgeleitet, gefolgt von einem neuen Zugriffstoken.
Ich bin nicht mit Javascript vertraut, aber in Android Studio ist dies eine einfache Möglichkeit, einen Listener hinzuzufügen , der das Ereignis abhört, bei dem die Webseite die URL zur neuen URL überschreibt (Umleitungsereignis), und dann die Umleitungs-URL-Zeichenfolge an weiterleitet Sie, so können Sie es einfach teilen, um das Zugriffstoken wie folgt zu erhalten:
String access_token = url.split ("=") [1];
Bedeutet, die URL in das Zeichenfolgenarray in jedem "=" - Zeichen aufzuteilen, dann ist das Zugriffstoken offensichtlich bei [1] vorhanden.
quelle
Gehen Sie zur Verwaltung der Clinet-Seite in:
http://www.instagram.com/developer/
Legen Sie eine Weiterleitungs-URL fest
dann :
Verwenden Sie diesen Code, um Zugriffstoken zu erhalten:
quelle