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?
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?
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:
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 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.
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]
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:
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!!
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 "}]}
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.
?__a=1
, um nur den JSON im window._sharedData
Objekt zu erhalten, damit Sie so etwas tun können curl 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 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.
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 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)
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.
Sie müssen verwenden Instagrams API
, um Ihre username
zu konvertieren id
.
Wenn ich mich richtig erinnere users/search
, suchen Sie mit dem Benutzernamen und erhalten von dort die ID
users/search
, dann erhalten Sie die id
und verwenden sie in was auch immer Sie möchten
Um 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.
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.
{
"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
Nun, Sie können einfach diesen Link anrufen
http://jelled.com/ajax/instagram?do=username&username=[USER_NAME_GOES_HERE‹&format=json
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 von user-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 von users/{some-user-id}
und enthält die Benutzer-ID als Teil der Nutzdaten. Sobald Sie authentifiziert sind, rufen Sie einfach an users/self
und 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
}
}
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
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":"..."}},
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;
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);
Hier ist eine wirklich einfache Website, die für mich gut funktioniert:
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
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)
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 .
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