Ich bin dabei, meinen Bild-Feed mit JSON in meine Website einzubetten. Die URL benötigt meine Benutzer-ID, damit ich diesen Feed abrufen kann.
Wo finde ich meine Benutzer-ID?
Antwort sehr spät, aber ich denke, das 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 erhält alle Informationen über den Benutzernamen eines Benutzers, der therock ist
https://www.instagram.com/therock/?__a=1
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 sie nicht mehr öffentlich zugänglich ist. Der Anmeldeschritt ist auch einfach. Dies ist meine Demo: https://youtu.be/ec5QhwM6fvc
Update vom 17.04.2017, 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 die Taste F12, um die Symbolleiste des Entwicklers zu öffnen. Klicken Sie anschließend auf die Registerkarte "Netzwerk" und verfolgen Sie die Anforderung.)
Entschuldigung, weil ich zu beschäftigt bin. Hoffe, diese Informationen helfen euch Jungs. Hmm, fühle mich frei, mich abzustimmen, wenn du willst.
Update vom 12.04.2010, sagte cameronjonesweb, dass dieser Endpunkt nicht mehr funktioniert. Wenn er versucht, auf diesen Endpunkt zuzugreifen, wird der Statuscode 403 zurückgegeben.
Geben Sie diese URL in Ihrem Browser mit dem zu suchenden Benutzernamen und Ihrem Zugriffstoken ein
https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
Rufen Sie einfach die Benutzer-ID und Benutzerdetails ab
https://api.instagram.com/v1/users/search?q= [ BENUTZERNAME] & client_id = [YOU APP-Client-ID]
Zum Beispiel:
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 " }]}
Die meisten Methoden sind seit Juni 1/2016 api-Änderungen veraltet
Unten arbeitete für mich
bei der Eingabeaufforderung geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
window._sharedData.entry_data.ProfilePage[0].user.id
Wenn Sie Glück haben, erhalten Sie beim ersten Versuch, wenn nicht, Geduld, aktualisieren Sie die Seite und versuchen Sie es erneut. machen Sie weiter, bis Sie die Benutzer-ID sehen. Viel Glück!!
Anstatt die API zu verwenden, kann die Instagram-Benutzerseite untersucht werden, 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.
Derzeit gibt es keine direkte Instagram-API, um die Benutzer-ID vom Benutzernamen abzurufen. Sie müssen die API " GET/users/search " aufrufen, dann die Ergebnisse wiederholen und prüfen, ob der Feldwert "username
" mit Ihrem Benutzernamen übereinstimmt oder nicht. Dann greifen Sie zu id
.
Ich habe dieses Tool zum Abrufen von Instagram-IDs nach Benutzernamen geschrieben: Instagram User ID Lookup .
Es verwendet die Bibliothek python-instagram , um auf die API zuzugreifen, und enthält eine Verknüpfung zum Quellcode (geschrieben auf Django), die verschiedene Implementierungen der Instagram-API veranschaulicht.
Update: Quellcode für Port zu Ruby on Rails hinzugefügt.
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 wenig 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 jedoch die Seite aktualisieren, damit dies funktioniert. (Ich musste dies wegen meines schlechten Rufs als Antwort posten)
Sie müssen Instagrams API
verwenden, um Ihre username
in id
umzuwandeln.
Wenn ich mich richtig erinnere, benutze users/search
, um den Benutzernamen zu finden und die ID von dort zu erhalten
um Ihre ID zu erhalten, stellen Sie eine authentifizierte Anfrage an den Instagram-API users/self/feed
/. Die Antwort enthält neben anderen Daten den Benutzernamen sowie die ID des Benutzers.
Die meisten dieser Antworten sind nach den Instagram API-Änderungen - 6/1/2016 ungültig . Die beste Lösung ist jetzt hier . Wechseln 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.
Wenn Sie die implizite Authentifizierung verwenden, muss das Problem bestehen, dass die nicht gefunden werden kann user_id
I found a way for example:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331
would you do a split single seperated by . Zugriffe auf Token und das erste Element
Sie können dies tun, indem Sie Instagram API (Benutzerendpunkte:/Benutzer/Suche) verwenden.
wie 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);
Hier ist eine wirklich einfache Website, die für mich gut funktioniert:
Oder Sie können folgendes tun, indem Sie den "Benutzernamen" durch Ihren Instagram-Benutzernamen ersetzen
https://www.instagram.com/username/?__a=1
Sie können sich auch bei Ihrem Instagram-Konto anmelden und die Google-Dev-Tools verwenden und die gespeicherten Cookies anzeigen. 'ds_user_id' ist Ihre Benutzer-ID
Dies kann über die apigee.com Instagram API-Zugriff hier auf der Entwicklerseite von Instagram erfolgen. Klicken Sie nach der Anmeldung 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 über einen Zugangscode verfügen, können Sie diesen auch folgendermaßen ausführen: https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN
Nun, Sie können diesen Link einfach anrufen
http://jelled.com/ajax/instagram?do=username&username=[USER_NAME_GOES_HERE? & format=json
Arbeitslösung ohne Zugriffstoken Stand vom 14. Oktober 2011:
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 Suchanfrage. Finden Sie den genau übereinstimmenden Eintrag in der Antwort und erhalten Sie eine Benutzer-ID aus dem Eintrag.
Obwohl es nicht mehr auf der API-Dokumentseite aufgeführt ist, habe ich einen thread gefunden, der angibt, dass Sie anstelle von user-id
für den Endpunkt users/{user-id}
self
verwenden können.
users/self
ist also dasselbe wie ein expliziter Aufruf von users/{some-user-id}
und enthält die Benutzer-ID als Teil der Payload. Sobald Sie sich authentifiziert haben, rufen Sie einfach users/self
an. Das Ergebnis enthält die aktuell authentifizierte Benutzer-ID.
{
"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
}
}
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;
Gehen Sie zur api-Konsole & copy link https://api.instagram.com/v1/users/self
in das Textfeld und authentifizieren Sie sich mit Ihrer Instagram-ID und Ihrem Kennwort. Sie erhalten Ihre ID als Antwort
Ich denke, die beste, einfachste und sicherste Methode ist, Ihr Instagram-Profil zu öffnen in einem Browser, Quellcode anzeigen und nach Benutzervariable suchen (Strg + F "Benutzer": { ") im Haupt-Javascript-Code. Die ID-Nummer in der Benutzervariable sollte Ihre ID sein.
Dies ist der Code, wie er im Moment des Schreibens dieser Antwort aussah (er kann und wird wahrscheinlich in der Zukunft geändert werden):
"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},
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 öfter als ein nicht zitiertes:
https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN]
gibt Benutzer "self" zurück (id: 311176867)
https://api.instagram.com/v1/users/search?q=self&count=1&access_token=[ACCESS TOKEN]
gibt Benutzer "super_selfie" zurück (id: 1422944651)
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]
In der Tat enthält das Zugriffstoken die Benutzer-ID (das erste Segment des Tokens):
<user-id>.1677aaa.aaa042540a2345d29d11110545e2499
Sie können ein Zugriffstoken erhalten, indem Sie dieses von Pixel Union bereitgestellte Tool verwenden.
Erstellen Sie zunächst eine Anwendung auf Instagram und erhalten Sie eine Kunden-ID für Ihre Anwendung
http://instagram.com/developer/
Kopieren Sie nun einfach die URL nach dem Einfügen in das Browserfenster, indem Sie Ihren Benutzernamen und Ihre Client-ID ersetzen https://api.instagram.com/v1/users/search?q=[Ihr-Benutzername?&client_id=[Your- Kunden ID]
sie erhalten ein Json-Ergebnis mit allgemeinen Informationen zu Ihrem Konto und Ihrer numerischen Benutzer-ID