Instagram, wie bekomme ich meine Benutzer-ID vom Benutzernamen?
125
Ich bin gerade dabei, meinen Bild-Feed mithilfe von JSON in meine Website einzubetten. Die URL benötigt meine Benutzer-ID, damit ich diesen Feed abrufen kann.
Möglicherweise möchten Sie auch den Benutzernamen anhand einer Benutzer-ID ermitteln, falls jemand den Benutzernamen häufig ändert. Ich habe eine Antwort hinzugefügt, die ohne Zugriffstoken funktioniert: stackoverflow.com/a/60744028/1176454
Taufe
Antworten:
235
Sehr späte Antwort, aber ich denke, dies ist die beste Antwort auf dieses Thema. Hoffe das ist nützlich.
Sie können Benutzerinformationen erhalten, wenn eine Anfrage mit der folgenden URL gestellt wird:
https://www.instagram.com/{username}/?__a=1
Z.B:
Diese URL enthält alle Informationen zu einem Benutzer, dessen Benutzername therock lautet
https://www.instagram.com/therock/?__a=1
Update i 20. Juni 2019, die API ist jetzt öffentlich. Keine Authentifizierung erforderlich.
Update im Dezember-11-2018, ich musste bestätigen, dass dieser Endpunkt noch funktioniert. Sie müssen sich anmelden, bevor Sie eine Anfrage an diese Site senden, da es sich nicht mehr um einen öffentlichen Endpunkt handelt. Der Anmeldeschritt ist ebenfalls einfach. Dies ist meine Demo:
https://youtu.be/ec5QhwM6fvc
Update am 17. April 2008, es sieht so aus, als ob dieser Endpunkt noch funktioniert (aber es ist kein öffentlicher Endpunkt mehr). Sie müssen eine Anfrage mit zusätzlichen Informationen an diesen Endpunkt senden. (Drücken Sie F12, um die Entwicklersymbolleiste zu öffnen. Klicken Sie dann auf die Registerkarte Netzwerk und verfolgen Sie die Anforderung.)
Entschuldigung, weil ich zu beschäftigt bin. Hoffe, diese Informationen helfen euch. Hmm, zögern Sie nicht, mich abzustimmen, wenn Sie wollen.
Update in Apr-12-2018, cameronjonesweb sagte, dass dieser Endpunkt nicht mehr funktioniert. Wenn er / sie versucht, auf diesen Endpunkt zuzugreifen, wird der 403-Statuscode zurückgegeben.
Wenn Sie Developer Windows Ihres Browsers öffnen und die Registerkarte Netzwerk öffnen, wird die Anforderung dieser URL angezeigt.
Thinh Vu
3
Suchen Sie nach der Eigentümer-ID.
Gulok
1
das ist fantastisch! schöner Fund. Hoffen wir, dass die Rate nicht begrenzt wird.
ded
2
Leider funktioniert dies nur, wenn Sie eine bestimmte Benutzer-ID haben, die Sie kennen. Die Art und Weise, wie instagram prüft, ob es sich um eine gültige Anforderung handelt, erfolgt durch das im Header übermittelte Cookie. Wenn user_id in der Cookie-Eigenschaft vorhanden ist, wird dies als gültige Anforderung betrachtet. Überprüfen Sie die Cookie-Eigenschaft im Anforderungsheader, wenn Sie zu der angezeigten URL navigieren
Kiong
39
Geben Sie diese URL in Ihren Browser mit dem gewünschten Benutzernamen und Ihrem Zugriffstoken ein
Traurig; Dies ist fehlerhaft :( Wir haben festgestellt, dass Sie beim Aktualisieren dieser URL zufällig andere Benutzer finden können, deren Benutzername mit dem gesuchten Benutzernamen beginnt. Wenn Sie beispielsweise nach "fred1" suchen, aber auch nach "fred123" suchen ", Sie erhalten zufällige Ergebnisse! Auf Instagram gemeldet; warten auf eine Antwort :(
Danny Tuppeny
@frosty Ich finde es ziemlich unzuverlässig - du hast bessere Ergebnisse erzielt?
Sambecker
Dies funktioniert nicht, da Sie hierfür die Berechtigung "public_content" benötigen.
desloovere_j
@DannyTuppeny Hast du jemals von Instagram gehört?
Warteschlange
@ Queue Nichts Nützliches, nur Müll. Schließlich haben wir aufgegeben und seit ihren Änderungen im Juni, die unsere Integration sowieso völlig kaputt gemacht haben, haben wir sie einfach komplett aus unserer App herausgerissen.
Danny Tuppeny
18
Die meisten Methoden sind seit den Änderungen der API im Juni 1/2016 veraltet
Unten hat für mich gearbeitet,
Greifen Sie in Ihrem Browser auf Instagram zu, z. B. Chrome, Safari oder Firefox.
Starten Sie die Entwicklertools und gehen Sie zur Konsolenoption.
Geben Sie an der Eingabeaufforderung den folgenden Befehl ein und drücken Sie die Eingabetaste:
Wenn Sie Glück haben, werden Sie beim ersten Versuch, wenn nicht, geduldig sein, die Seite aktualisieren und es erneut versuchen. Machen Sie so lange weiter, bis Sie die Benutzer-ID sehen. Viel Glück!!
Traurig; Dies ist fehlerhaft :( Wir haben festgestellt, dass Sie beim Aktualisieren dieser URL zufällig andere Benutzer finden können, deren Benutzername mit dem gesuchten Benutzernamen beginnt. Wenn Sie beispielsweise nach "fred1" suchen, aber auch nach "fred123" suchen ", Sie erhalten zufällige Ergebnisse! Auf Instagram gemeldet; warten auf eine Antwort :(
Danny Tuppeny
1
Ich stimme Danny zu, diese Methode funktioniert nicht immer.
Ca.
2
Funktioniert nicht mehr, da Instagram ab dem 1. Juni 2016
Malcolm Box
14
Anstatt die API zu verwenden, kann man die Instagram-Benutzerseite untersuchen, um die ID zu erhalten. Beispielcode in PHP:
$html = file_get_contents("http://instagram.com/<username>");
$doc =newDOMDocument();
$doc->loadHTML($html);
$xpath =newDOMXPath($doc);
$js = $xpath->query('//body/script[@type="text/javascript"]')->item(1)->nodeValue;
$start = strpos($js,'{');
$end = strrpos($js,';');
$json = substr($js, $start, $end - $start);
$data = json_decode($json,true);
$data = $data["entry_data"]["UserProfile"][0];# The "userMedia" entry of $data now has the same structure as the "data" field# in Instagram API responses to user endpoints queries
echo $data["user"]["id"];
Natürlich muss dieser Code angepasst werden, wenn Instagram sein Seitenformat ändert.
Scheint eine schlechte Idee zu sein, die API nicht zu verwenden
472084
2
Wie in der Antwort von Thinh Vu erwähnt, können Sie hinzufügen ?__a=1, um nur den JSON im window._sharedDataObjekt zu erhalten, damit Sie so etwas tun können curl https://www.instagram.com/username/?__a=1|jq -r .user.id.
Nisetama
7
Derzeit gibt es keine direkte Instagram-API, um die Benutzer-ID vom Benutzernamen abzurufen. Sie müssen die API GET / users / search aufrufen und dann die Ergebnisse iterieren und prüfen, ob der Feldwert usernameIhrem Benutzernamen entspricht oder nicht id.
Ich habe dieses Tool zum Abrufen von Instagram-IDs nach Benutzername geschrieben: Instagram User ID Lookup .
Es verwendet die Python-Instagram- Bibliothek, um auf die API zuzugreifen, und enthält einen Link zum Quellcode (auf Django geschrieben), der verschiedene Implementierungen der Instagram-API veranschaulicht.
Tool zum Abrufen von Instagram-IDs über den Benutzernamen-Link funktioniert nicht. Bitte aktualisieren Sie es.
Nishant Nawarkhede
@ JaydeepJadav nicht einmal ein "Bitte"? Der Quellcode befindet sich auf GitHub - Sie können gerne eine Pull-Anfrage öffnen.
Zeantsoi
5
Ich habe alle oben genannten Lösungen ausprobiert und keine funktioniert. Ich denke, Instagram hat ihre Änderungen beschleunigt. Ich habe jedoch die Browserkonsolenmethode ausprobiert und ein bisschen herumgespielt und diesen Befehl gefunden, der mir die Benutzer-ID gab.
Sie besuchen einfach die Seite eines Profils und geben diesen Befehl in die Konsole ein. Möglicherweise müssen Sie die Seite aktualisieren, damit dies funktioniert. (Ich musste dies als Antwort posten, wegen meines schlechten Rufs)
Können Sie mir die Methode sagen, mit der das funktioniert?
Muhammad Reda
macht was? Die Suche wird durch die API-Anfrage erreicht users/search, dann erhalten Sie die idund verwenden sie in was auch immer Sie möchten
mlishn
4
Traurig; Dies ist fehlerhaft :( Wir haben festgestellt, dass Sie beim Aktualisieren dieser URL zufällig andere Benutzer finden können, deren Benutzername mit dem gesuchten Benutzernamen beginnt. Wenn Sie beispielsweise nach "fred1" suchen, aber auch nach "fred123" suchen ", Sie erhalten zufällige Ergebnisse! Auf Instagram gemeldet; warten auf eine Antwort :(
Danny Tuppeny
Ersetzen Sie den Benutzernamen durch den tatsächlichen Benutzernamen im folgenden Link api.instagram.com/v1/users/…
Chhatrapati Sharma
3
Um Ihre ID zu erhalten, stellen Sie eine authentifizierte Anfrage an den Instagram-API- users/self/feedEndpunkt. Die Antwort enthält unter anderem den Benutzernamen sowie die ID des Benutzers.
Die meisten dieser Antworten sind nach den Änderungen der Instagram-API am 01.06.2016 ungültig . Die beste Lösung ist jetzt hier . Gehen Sie zu Ihrem Feed auf instagram.com, kopieren Sie die Linkadresse für eines Ihrer Bilder und fügen Sie sie in das Textfeld auf dieser Seite ein. Lief wie am Schnürchen.
Gehen Sie zur API-Konsole und kopieren Sie den Link https://api.instagram.com/v1/users/self im Textfeld und authentifizieren Sie sich mit Ihrer Instagram-ID und Ihrem Passwort. Sie erhalten Ihre ID als Antwort
Dies kann über den Zugriff auf die Instagram-API von apigee.com hier auf der Entwickler-Website von Instagram erfolgen. Klicken Sie nach dem Anmelden auf den API-Aufruf "/ users / search". Von dort aus können Sie nach einem beliebigen Benutzernamen suchen und dessen ID abrufen.
Traurig; Die Verwendung von Benutzern / Suche ist fehlerhaft :( Wir haben festgestellt, dass Sie beim Aktualisieren dieser URL nach dem Zufallsprinzip andere Benutzer abrufen können, deren Benutzername mit dem gesuchten Benutzernamen beginnt. Wenn Sie beispielsweise nach "fred1" suchen, dies jedoch der Fall ist auch ein "fred123", erhalten Sie zufällige Ergebnisse! Auf Instagram gemeldet, warten auf eine Antwort :(
Danny Tuppeny
2
Es ist kein Fehler - tatsächlich ist es eine Funktionalität. Es ist eine Such- API, was bedeutet, dass sie wie das Suchfeld in der Instagram-App funktioniert. Der richtige Weg, um eine Benutzer-ID für einen Benutzernamen abzurufen, besteht darin, diesen Suchendpunkt
John Dorian
1
Beide wurden verbessert, aber als API-Entwickler können wir uns darauf einigen, einen Endpunkt für die Benutzersuche zu erstellen, um dies zu vermeiden. Es ist wirklich ärgerlich, nur eine Suche anzubieten
Darf ich wissen, wie hoch das Preislimit von jelled.com ist?
Aminah Nuraini
2
Obwohl es nicht mehr auf der API-Dokumentseite aufgeführt ist, habe ich einen Thread gefunden , in dem erwähnt wird, dass Sie selfanstelle von user-idfür verwenden könnenusers/{user-id} Endpunkt , und es wird die aktuell authentifizierten Benutzer-Info zurück.
Entspricht users/selfalso einem expliziten Aufruf von users/{some-user-id}und enthält die Benutzer-ID als Teil der Nutzdaten. Sobald Sie authentifiziert sind, rufen Sie einfach an users/selfund das Ergebnis enthält die ID des aktuell authentifizierten Benutzers wie folgt:
Ich denke, die beste, einfachste und sicherste Methode besteht darin , Ihr Instagram-Profil in einem Browser zu öffnen , den Quellcode anzuzeigen und nach Benutzervariablen zu suchen (Strg + f "Benutzer": {" ) im Haupt-Javascript-Code zu . Die ID-Nummer in der Benutzervariablen sollte sei dein Ausweis.
Dies ist der Code, wie er im Moment des Schreibens dieser Antwort aussah (er kann und wird wahrscheinlich in Zukunft geändert werden):
Traurig; Die Verwendung von Benutzern / Suche ist fehlerhaft :( Wir haben festgestellt, dass Sie beim Aktualisieren dieser URL nach dem Zufallsprinzip andere Benutzer abrufen können, deren Benutzername mit dem gesuchten Benutzernamen beginnt. Wenn Sie beispielsweise nach "fred1" suchen, dies jedoch der Fall ist auch ein "fred123", erhalten Sie zufällige Ergebnisse! Auf Instagram gemeldet, warten auf eine Antwort :(
Danny Tuppeny
2
Hier ist eine wirklich einfache Website, die für mich gut funktioniert:
Sie können sich auch in Ihr Instagram-Konto einloggen, die Google Dev-Tools verwenden und sich die gespeicherten Cookies ansehen. 'ds_user_id' ist Ihre Benutzer-ID
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - Von Review
Bugs
@Bugs Ich habe eine detailliertere Antwort hinzugefügt. Ich versuche nur, einen Beitrag zur Stackoverflow-Community zu leisten.
Antworten:
Sehr späte Antwort, aber ich denke, dies ist die beste Antwort auf dieses Thema. Hoffe das ist nützlich.
Sie können Benutzerinformationen erhalten, wenn eine Anfrage mit der folgenden URL gestellt wird:
Z.B:
Diese URL enthält alle Informationen zu einem Benutzer, dessen Benutzername therock lautet
Update i 20. Juni 2019, die API ist jetzt öffentlich. Keine Authentifizierung erforderlich.
Update im Dezember-11-2018, ich musste bestätigen, dass dieser Endpunkt noch funktioniert. Sie müssen sich anmelden, bevor Sie eine Anfrage an diese Site senden, da es sich nicht mehr um einen öffentlichen Endpunkt handelt. Der Anmeldeschritt ist ebenfalls einfach. Dies ist meine Demo: https://youtu.be/ec5QhwM6fvc
Update am 17. April 2008, es sieht so aus, als ob dieser Endpunkt noch funktioniert (aber es ist kein öffentlicher Endpunkt mehr). Sie müssen eine Anfrage mit zusätzlichen Informationen an diesen Endpunkt senden. (Drücken Sie F12, um die Entwicklersymbolleiste zu öffnen. Klicken Sie dann auf die Registerkarte Netzwerk und verfolgen Sie die Anforderung.)
Entschuldigung, weil ich zu beschäftigt bin. Hoffe, diese Informationen helfen euch. Hmm, zögern Sie nicht, mich abzustimmen, wenn Sie wollen.
Update in Apr-12-2018, cameronjonesweb sagte, dass dieser Endpunkt nicht mehr funktioniert. Wenn er / sie versucht, auf diesen Endpunkt zuzugreifen, wird der 403-Statuscode zurückgegeben.
quelle
Geben Sie diese URL in Ihren Browser mit dem gewünschten Benutzernamen und Ihrem Zugriffstoken ein
quelle
Die meisten Methoden sind seit den Änderungen der API im Juni 1/2016 veraltet
Unten hat für mich gearbeitet,
Geben Sie an der Eingabeaufforderung den folgenden Befehl ein und drücken Sie die Eingabetaste:
Wenn Sie Glück haben, werden Sie beim ersten Versuch, wenn nicht, geduldig sein, die Seite aktualisieren und es erneut versuchen. Machen Sie so lange weiter, bis Sie die Benutzer-ID sehen. Viel Glück!!
quelle
Holen Sie sich einfach die USER ID und Benutzerdetails
https://api.instagram.com/v1/users/search?q= [ BENUTZERNAME] & client_id = [YOU APP Client ID]
Beispielsweise:
https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id
Ergebnis:
quelle
Anstatt die API zu verwenden, kann man die Instagram-Benutzerseite untersuchen, um die ID zu erhalten. Beispielcode in PHP:
Natürlich muss dieser Code angepasst werden, wenn Instagram sein Seitenformat ändert.
quelle
?__a=1
, um nur den JSON imwindow._sharedData
Objekt zu erhalten, damit Sie so etwas tun könnencurl https://www.instagram.com/username/?__a=1|jq -r .user.id
.Derzeit gibt es keine direkte Instagram-API, um die Benutzer-ID vom Benutzernamen abzurufen. Sie müssen die API GET / users / search aufrufen und dann die Ergebnisse iterieren und prüfen, ob der Feldwert
username
Ihrem Benutzernamen entspricht oder nichtid
.quelle
Ich habe dieses Tool zum Abrufen von Instagram-IDs nach Benutzername geschrieben: Instagram User ID Lookup .
Es verwendet die Python-Instagram- Bibliothek, um auf die API zuzugreifen, und enthält einen Link zum Quellcode (auf Django geschrieben), der verschiedene Implementierungen der Instagram-API veranschaulicht.
Update : Quellcode für Port zu Ruby on Rails hinzugefügt .
quelle
Ich habe alle oben genannten Lösungen ausprobiert und keine funktioniert. Ich denke, Instagram hat ihre Änderungen beschleunigt. Ich habe jedoch die Browserkonsolenmethode ausprobiert und ein bisschen herumgespielt und diesen Befehl gefunden, der mir die Benutzer-ID gab.
Sie besuchen einfach die Seite eines Profils und geben diesen Befehl in die Konsole ein. Möglicherweise müssen Sie die Seite aktualisieren, damit dies funktioniert. (Ich musste dies als Antwort posten, wegen meines schlechten Rufs)
quelle
Arbeitslösung ohne Zugriffstoken vom 14. Oktober 2008:
Suchen Sie nach dem Benutzernamen:
Beispiel:
Dies ist eine Suchabfrage. Suchen Sie den genau übereinstimmenden Eintrag in der Antwort und erhalten Sie die Benutzer-ID aus dem Eintrag.
quelle
Sie müssen verwenden
Instagrams API
, um Ihreusername
zu konvertierenid
.Wenn ich mich richtig erinnere
users/search
, suchen Sie mit dem Benutzernamen und erhalten von dort die IDquelle
users/search
, dann erhalten Sie dieid
und verwenden sie in was auch immer Sie möchtenUm Ihre ID zu erhalten, stellen Sie eine authentifizierte Anfrage an den Instagram-API-
users/self/feed
Endpunkt. Die Antwort enthält unter anderem den Benutzernamen sowie die ID des Benutzers.quelle
Die meisten dieser Antworten sind nach den Änderungen der Instagram-API am 01.06.2016 ungültig . Die beste Lösung ist jetzt hier . Gehen Sie zu Ihrem Feed auf instagram.com, kopieren Sie die Linkadresse für eines Ihrer Bilder und fügen Sie sie in das Textfeld auf dieser Seite ein. Lief wie am Schnürchen.
quelle
Gehen Sie zur API-Konsole und kopieren Sie den Link
https://api.instagram.com/v1/users/self
im Textfeld und authentifizieren Sie sich mit Ihrer Instagram-ID und Ihrem Passwort. Sie erhalten Ihre ID als Antwortquelle
Dies kann über den Zugriff auf die Instagram-API von apigee.com hier auf der Entwickler-Website von Instagram erfolgen. Klicken Sie nach dem Anmelden auf den API-Aufruf "/ users / search". Von dort aus können Sie nach einem beliebigen Benutzernamen suchen und dessen ID abrufen.
Wenn Sie bereits einen Zugangscode haben, können Sie dies auch folgendermaßen tun: https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN
quelle
Nun, Sie können einfach diesen Link anrufen
http://jelled.com/ajax/instagram?do=username&username=[USER_NAME_GOES_HERE‹&format=json
quelle
Obwohl es nicht mehr auf der API-Dokumentseite aufgeführt ist, habe ich einen Thread gefunden , in dem erwähnt wird, dass Sie
self
anstelle vonuser-id
für verwenden könnenusers/{user-id}
Endpunkt , und es wird die aktuell authentifizierten Benutzer-Info zurück.Entspricht
users/self
also einem expliziten Aufruf vonusers/{some-user-id}
und enthält die Benutzer-ID als Teil der Nutzdaten. Sobald Sie authentifiziert sind, rufen Sie einfach anusers/self
und das Ergebnis enthält die ID des aktuell authentifizierten Benutzers wie folgt:quelle
Wenn Sie die implizite Authentifizierung verwenden, muss das Problem auftreten, dass Sie die nicht finden können user_id
Ich habe zum Beispiel einen Weg gefunden:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331
Würden Sie eine Split-Single machen, die von getrennt ist? obtenies to acces token und das erste element
quelle
Ich denke, die beste, einfachste und sicherste Methode besteht darin , Ihr Instagram-Profil in einem Browser zu öffnen , den Quellcode anzuzeigen und nach Benutzervariablen zu suchen (Strg + f "Benutzer": {" ) im Haupt-Javascript-Code zu . Die ID-Nummer in der Benutzervariablen sollte sei dein Ausweis.
Dies ist der Code, wie er im Moment des Schreibens dieser Antwort aussah (er kann und wird wahrscheinlich in Zukunft geändert werden):
quelle
So können Sie Ihre Benutzer-ID von einem Benutzernamen abrufen:
quelle
Sie können dies mithilfe der Instagram-API tun (Benutzerendpunkte: / users / search).
How-to in PHP:
quelle
Hier ist eine wirklich einfache Website, die für mich gut funktioniert:
http://www.instaid.co.uk/
Oder Sie können den folgenden Benutzernamen durch Ihren Instagram-Benutzernamen ersetzen
https://www.instagram.com/username/?__a=1
Sie können sich auch in Ihr Instagram-Konto einloggen, die Google Dev-Tools verwenden und sich die gespeicherten Cookies ansehen. 'ds_user_id' ist Ihre Benutzer-ID
quelle
Bitte beachten Sie die Anführungszeichen.
Dies gibt nicht immer ein gültiges Ergebnis zurück, sondern häufiger als ein nicht zitiertes:
gibt den Benutzer "self" zurück (ID: 311176867)
gibt den Benutzer "super_selfie" zurück (ID: 1422944651)
quelle
Arbeitslösung ~ 2018
Ich habe festgestellt, dass Sie, sofern Sie über ein Zugriffstoken verfügen, die folgende Anforderung in Ihrem Browser ausführen können:
https://api.instagram.com/v1/users/self?access_token=[VALUE]
Tatsächlich enthält das Zugriffstoken die Benutzer-ID (das erste Segment des Tokens):
<user-id>.1677aaa.aaa042540a2345d29d11110545e2499
Mit diesem von Pixel Union bereitgestellten Tool können Sie ein Zugriffstoken erhalten .
quelle
Erstellen Sie zuerst eine Anwendung auf Instagram und erhalten Sie die Kunden-ID für Ihre Anwendung
http://instagram.com/developer/
Kopieren Sie nun einfach die folgende URL und fügen Sie sie in das Browserfenster ein, indem Sie Ihren Benutzernamen und Ihre Client-ID ersetzen. Https://api.instagram.com/v1/users/search?q=[Ihr-Benutzername weibl.
Sie erhalten ein Json-Ergebnis mit allgemeinen Informationen zu Ihrem Konto sowie Ihrer numerischen Benutzer-ID
quelle