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.

Wo kann ich meine Benutzer-ID finden / erhalten?


1
Ich habe ein neues und schnelleres Tool dafür gefunden, siehe codeofaninja.com/tools/find-instagram-user-id
Emkey

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.



1
Wie hast du das gefunden?
Nilfalse

6
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

https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]

16
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:

    window._sharedData.entry_data.ProfilePage[0].user.id
    

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!!


1

18

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:

{"meta": {"code": 200}, "data": [{"username": "zeeshanakhter2009", "bio": "http://about.me/zeeshanakhter", "website": "http: //zeeshanakhter.com","profile_picture":"http://images.ak.instagram.com/profiles/profile_202090411_75sq_1377878261.jpg","full_name":"Zeeshan Akhter "," id ":" 202090411 "}]}


1
Einfachster Weg. Und es ist kein Zugriffstoken erforderlich!
Ich

1
Ich schreibe auch die helfende Thema auf , dass in Java u in Details sehen latest-tutorial.com/2014/01/27/get-instagram-media-comments
Zeeshan Akhter

6
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 = new DOMDocument();
$doc->loadHTML($html);

$xpath = new DOMXPath($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.


4
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.


6

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 .


4
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.

window._sharedData.entry_data.ProfilePage[0].graphql.user.id

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)


5

Arbeitslösung ohne Zugriffstoken vom 14. Oktober 2008:

Suchen Sie nach dem Benutzernamen:

https://www.instagram.com/web/search/topsearch/?query=<username>

Beispiel:

https://www.instagram.com/web/search/topsearch/?query=therock

Dies ist eine Suchabfrage. Suchen Sie den genau übereinstimmenden Eintrag in der Antwort und erhalten Sie die Benutzer-ID aus dem Eintrag.


kurze und beste Antwort, aber wenn der Benutzername nicht gefunden wird, werden die entsprechenden Ergebnisse angezeigt.
Sanjeet Bisht

4

Sie müssen verwenden Instagrams API, um Ihre usernamezu konvertieren id.

Wenn ich mich richtig erinnere users/search, suchen Sie mit dem Benutzernamen und erhalten von dort die ID


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.


3

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.


2

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


2

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.

{
"data": [{
    "username": "jack",
    "first_name": "Jack",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_66_75sq.jpg",
    "id": "66",
    "last_name": "Dorsey"
},
{
    "username": "sammyjack",
    "first_name": "Sammy",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_29648_75sq_1294520029.jpg",
    "id": "29648",
    "last_name": "Jack"
},
{
    "username": "jacktiddy",
    "first_name": "Jack",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_13096_75sq_1286441317.jpg",
    "id": "13096",
    "last_name": "Tiddy"
}]}


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


3
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
sricks


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:

{
    "data": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg",
        "bio": "This is my bio",
        "website": "http://snoopdogg.com",
        "counts": {
            "media": 1320,
            "follows": 420,
            "followed_by": 3410
        }
}

2

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


2

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):

"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},

2

So können Sie Ihre Benutzer-ID von einem Benutzernamen abrufen:

$url = "https://api.instagram.com/v1/users/search?q=[username]&access_token=[your_token]";
$obj = json_decode(@file_get_contents($url));
echo $obj->data[0]->id;

2

Sie können dies mithilfe der Instagram-API tun (Benutzerendpunkte: / users / search).

How-to in PHP:

function Request($url) {

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_HEADER, 0);  

    $result = curl_exec($ch);

    curl_close($ch);

    return $result;

}

function GetUserID($username, $access_token) {

    $url = "https://api.instagram.com/v1/users/search?q=" . $username . "&access_token=" . $access_token;

    if($result = json_decode(Request($url), true)) {

        return $result['data'][0]['id'];

    }

}

// example:
echo GetUserID('rathienth', $access_token);

3
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:

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

Geben Sie hier die Bildbeschreibung ein


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.
BenEgan1991

1
https://api.instagram.com/v1/users/search?q="[USERNAME]"&access_token=[ACCESS TOKEN]

Bitte beachten Sie die Anführungszeichen.

Dies gibt nicht immer ein gültiges Ergebnis zurück, sondern häufiger als ein nicht zitiertes:

https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN] 

gibt den Benutzer "self" zurück (ID: 311176867)

https://api.instagram.com/v1/users/search?q=self&count=1&access_token=[ACCESS TOKEN]

gibt den Benutzer "super_selfie" zurück (ID: 1422944651)


1

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 .


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.