Instagram comment obtenir mon identifiant d'utilisateur à partir du nom d'utilisateur?

125

Je suis en train d'intégrer mon flux d'images dans mon site Web à l'aide de JSON, l'URL a besoin de mon identifiant d'utilisateur pour que je puisse récupérer ce flux.

Alors, où puis-je trouver / obtenir mon identifiant d'utilisateur?

Muhammad Reda
la source
1
J'ai trouvé un outil nouveau et plus rapide pour cela, voir codeofaninja.com/tools/find-instagram-user-id
Emkey
Vous pouvez également être intéressé par la recherche du nom d'utilisateur à partir d'un ID utilisateur, au cas où quelqu'un changerait fréquemment le nom d'utilisateur. J'ai ajouté une réponse qui fonctionne sans jeton d'accès: stackoverflow.com/a/60744028/1176454
baptx

Réponses:

235

Réponse très tardive mais je pense que c'est la meilleure réponse à ce sujet. J'espère que c'est utile.

Vous pouvez obtenir des informations utilisateur lorsqu'une demande est faite avec l'url ci-dessous:

https://www.instagram.com/{username}/?__a=1

Par exemple:

Cette URL obtiendra toutes les informations sur un utilisateur dont le nom d'utilisateur est therock

https://www.instagram.com/therock/?__a=1

Mise à jour du 20 juin 2019, l'API est désormais publique. Aucune authentification requise.

Mise à jour du 11 décembre 2018, j'avais besoin de confirmer que ce point de terminaison fonctionne toujours. Vous devez vous connecter avant d'envoyer la demande à ce site car ce n'est plus un point de terminaison public. L'étape de connexion est également simple. Ceci est ma démo: https://youtu.be/ec5QhwM6fvc


Mise à jour du 17 avril 2018, il semble que ce point de terminaison fonctionne toujours (mais ce n'est plus un point de terminaison public), vous devez envoyer une demande avec des informations supplémentaires à ce point de terminaison. (Appuyez sur F12 pour ouvrir la barre d'outils du développeur, puis cliquez sur l'onglet Réseau et suivez la demande.)

Désolé parce que je suis trop occupé. J'espère que ces informations vous aideront les gars. Hmm, n'hésitez pas à me donner un vote défavorable si vous le souhaitez.


Mise à jour du 12 avril 2018, cameronjonesweb a déclaré que ce point de terminaison ne fonctionnait plus. Lorsqu'il / elle essaie d'accéder à ce point de terminaison, le code d'état 403 revient.


Thinh Vu
la source
1
Comment avez-vous trouvé?
nilfalse
6
Lorsque vous ouvrez Developer Windows de votre navigateur et ouvrez l'onglet Réseau, vous pouvez voir la demande à cette URL.
Thinh Vu le
3
recherchez l'identifiant du propriétaire.
Gulok du
1
C'est génial! belle trouvaille. espérons que ce taux ne sera pas limité.
ded
2
Malheureusement, cela ne fonctionne que si vous avez un ID utilisateur spécifique que vous connaissez. La façon dont instagram vérifie si sa demande est valide par le cookie soumis dans l'en-tête. Si user_id existe dans la proeprty des cookies, cela sera considéré comme une demande valide. Vérifiez la propriété du cookie sur l'en-tête de la demande lorsque vous accédez à l'URL affichée
Kiong
39

Entrez cette URL dans votre navigateur avec le nom d'utilisateur que vous souhaitez trouver et votre jeton d'accès

https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
Estherz
la source
16
Tristement; ceci est défectueux :( Nous avons découvert que si vous vous asseyez pour rafraîchir cette URL, vous pouvez obtenir au hasard d'autres utilisateurs dont le nom d'utilisateur commence par le nom d'utilisateur que vous avez recherché. Par exemple, si vous recherchez "fred1" mais qu'il y a aussi un "fred123 ", vous obtiendrez des résultats aléatoires! Rapporté à instagram; en attente d'une réponse :(
Danny Tuppeny
@frosty Je trouve cela assez peu fiable - vous avez obtenu de meilleurs résultats?
sambecker
Cela ne fonctionne pas, car vous avez besoin de l'autorisation "public_content" pour cela.
desloovere_j
@DannyTuppeny Avez-vous déjà eu des nouvelles d'Instagram?
File d'attente du
@Queue Rien d'utile, juste des ordures. Finalement, nous avons abandonné et depuis leurs changements en juin qui ont totalement rompu notre intégration de toute façon, nous les extrayons complètement de notre application.
Danny Tuppeny le
18

La plupart des méthodes sont obsolètes depuis les modifications de l'API du 1er juin 2016

Ci-dessous a travaillé pour moi,

  • accédez à instagram sur votre navigateur, dites Chrome, Safari ou Firefox.
  • Lancez les outils de développement, accédez à l'option console.
  • à l'invite de commande, entrez la commande ci-dessous et appuyez sur Entrée:

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

Si vous êtes chanceux, vous obtiendrez au premier essai, sinon, soyez patient, actualisez la page et réessayez. continuez jusqu'à ce que vous voyiez user-id. Bonne chance!!

f-société
la source
1
Voici un exemple de code pour cette solution. github.com/vhpoet/liltools/blob/master/index.js#L13-L28 Hébergé: liltools.com/instagram
Vahe Hovhannisyan
18

Obtenez facilement l'ID utilisateur et les détails de l'utilisateur

https://api.instagram.com/v1/users/search?q= [ USER NAME] & client_id = [YOU APP Client ID]

Par exemple:

https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id

Résultat:

{"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 "}]}

Zeeshan Akhter
la source
1
Le moyen le plus simple. Et il n'y a pas besoin de jeton d'accès! Love it :)
Can Vural
1
j'écris également le sujet d'aide à ce sujet en java vous pouvez voir en détail latest-tutorial.com/2014/01/27/get-instagram-media-comments
Zeeshan Akhter
6
Tristement; ceci est défectueux :( Nous avons découvert que si vous vous asseyez pour rafraîchir cette URL, vous pouvez obtenir au hasard d'autres utilisateurs dont le nom d'utilisateur commence par le nom d'utilisateur que vous avez recherché. Par exemple, si vous recherchez "fred1" mais qu'il y a aussi un "fred123 ", vous obtiendrez des résultats aléatoires! Signalé à instagram; en attente d'une réponse :(
Danny Tuppeny
1
Je suis d'accord avec Danny, cette méthode ne fonctionne pas toujours.
ca
2
Ne fonctionne plus depuis qu'Instagram a supprimé tout le support client_id à compter du 1er juin 2016
Malcolm Box
14

Au lieu d'utiliser l'API, on peut examiner la page utilisateur Instagram pour obtenir l'identifiant. Exemple de code en 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"];

Bien sûr, ce code doit être adapté si Instagram change son format de page.

Percival Ulysse
la source
4
Cela semble être une mauvaise idée de ne pas utiliser l'API
472084
2
Comme le mentionne la réponse de Thinh Vu, vous pouvez ajouter ?__a=1pour obtenir uniquement le JSON dans l' window._sharedDataobjet, afin de pouvoir faire quelque chose comme curl https://www.instagram.com/username/?__a=1|jq -r .user.id.
nisetama
7

Actuellement, il n'y a pas d'API Instagram directe pour obtenir l'identifiant d'utilisateur à partir du nom d'utilisateur. Vous devez appeler l' API GET / users / search , puis itérer les résultats et vérifier si la usernamevaleur du champ est égale ou non à votre nom d'utilisateur, puis vous récupérez le fichier id.

nul
la source
6

J'ai écrit cet outil pour récupérer les identifiants Instagram par nom d'utilisateur: Instagram User ID Lookup .

Il utilise la bibliothèque python-instagram pour accéder à l'API et inclut un lien vers le code source (écrit sur Django), qui illustre diverses implémentations de l'API Instagram.

Mise à jour : Ajout du code source pour le port vers Ruby on Rails .

zeantsoi
la source
4
L'outil de récupération des identifiants Instagram par lien de nom d'utilisateur ne fonctionne pas. Veuillez le mettre à jour.
Nishant Nawarkhede
@JaydeepJadav même pas tant qu'un "s'il vous plaît"? Le code source est sur GitHub - vous êtes plus que bienvenu pour ouvrir une pull request.
zeantsoi
5

J'ai essayé toutes les solutions susmentionnées et aucune ne fonctionne. Je suppose qu'Instagram a accéléré leurs changements. J'ai essayé, cependant, la méthode de la console du navigateur et j'ai joué un peu et j'ai trouvé cette commande qui m'a donné l'ID utilisateur.

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

Vous venez de visiter la page d'un profil et entrez cette commande dans la console. Vous devrez peut-être actualiser la page pour que cela fonctionne. (J'ai dû poster ceci comme réponse, à cause de ma mauvaise réputation)

ionpan
la source
5

Solution de travail sans jeton d'accès au 14 octobre 2018:

Recherchez le nom d'utilisateur:

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

Exemple:

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

Ceci est une requête de recherche. Trouvez l'entrée exacte correspondante dans la réponse et obtenez l'ID utilisateur de l'entrée.

fouet
la source
réponse courte et meilleure, mais si le nom d'utilisateur n'est pas trouvé, il affichera les résultats associés.
sanjeet bisht
4

Vous devez utiliser Instagrams APIpour convertir votre usernameà id.

Si je me souviens bien, vous utilisez users/searchpour trouver le nom d'utilisateur et obtenir l'identifiant à partir de là

mlishn
la source
Pouvez-vous me dire la méthode qui fait ça!?
Muhammad Reda
Fait quoi? la recherche est effectuée par la requête API users/search, puis vous obtenez le idet utilisez-le dans ce que vous
voulez
4
Tristement; ceci est défectueux :( Nous avons découvert que si vous vous asseyez pour rafraîchir cette URL, vous pouvez obtenir au hasard d'autres utilisateurs dont le nom d'utilisateur commence par le nom d'utilisateur que vous avez recherché. Par exemple, si vous recherchez "fred1" mais qu'il y a aussi un "fred123 ", vous obtiendrez des résultats aléatoires! Signalé à instagram; en attente d'une réponse :(
Danny Tuppeny
remplacez le nom d'utilisateur par le nom d'utilisateur réel dans le lien ci-dessous api.instagram.com/v1/users/…
Chhatrapati Sharma
3

pour obtenir votre identifiant, faites une demande authentifiée au users/self/feedpoint de terminaison de l' API Instagram . la réponse contiendra, entre autres données, le nom d'utilisateur ainsi que l'identifiant de l'utilisateur.

wehal3001
la source
3

La plupart de ces réponses ne sont pas valides après les modifications de l'API Instagram du 1/6/2016 . La meilleure solution maintenant est ici . Accédez à votre flux sur instagram.com, copiez l'adresse du lien de l'une de vos photos et collez-la dans la zone de texte de cette page. A travaillé comme un charme.

Sudiste
la source
2

Accédez à la console api et copiez le lien https://api.instagram.com/v1/users/self dans le champ de texte et authentifiez-vous en utilisant votre identifiant et votre mot de passe instagram, vous obtiendrez votre identifiant en réponse

Sharmaravi
la source
2

Cela peut être fait via l'accès API Instagram apigee.com ici sur le site des développeurs d'Instagram. Une fois connecté, cliquez sur l'appel API "/ users / search". De là, vous pouvez rechercher n'importe quel nom d'utilisateur et récupérer son identifiant.

{
"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"
}]}


Si vous avez déjà un code d'accès, cela peut également être fait comme ceci: https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN

proie
la source
3
Tristement; en utilisant les utilisateurs / la recherche, ceci est défectueux: (Nous avons découvert que si vous vous asseyez en actualisant cette URL, vous pouvez obtenir au hasard d'autres utilisateurs dont le nom d'utilisateur commence par le nom d'utilisateur que vous avez recherché. Par exemple, si vous recherchez "fred1", mais il y a également un "fred123", vous obtiendrez des résultats aléatoires! Signalé sur instagram; en attente d'une réponse :(
Danny Tuppeny
2
Ce n'est pas un défaut - en fait c'est une fonctionnalité. C'est une API de recherche , ce qui signifie qu'elle fonctionne comme le champ de recherche de l'application instagram. La bonne façon de récupérer un ID utilisateur pour un nom d'utilisateur consiste à interroger ce point de terminaison de recherche, puis à parcourir les objets renvoyés et à vérifier la correspondance exacte du nom d'utilisateur.
John Dorian
1
J'ai voté pour les deux, mais en tant que développeurs d'API, pouvons-nous s'il vous plaît accepter de créer un point de terminaison de recherche utilisateur pour éviter cela, offrir uniquement une recherche est vraiment ennuyeux
sricks
2

Bien qu'il ne soit plus répertorié sur la page de documentation de l'API, j'ai trouvé un fil de discussion qui mentionne que vous pouvez utiliser selfà la place de user-idpour le users/{user-id}point de terminaison et il renverra les informations de l'utilisateur actuellement authentifié.

Donc, users/selfest identique à un appel explicite à users/{some-user-id}et contient l'identifiant de l'utilisateur dans le cadre de la charge utile. Une fois que vous êtes authentifié, passez simplement un appel à users/selfet le résultat inclura l'identifiant de l'utilisateur actuellement authentifié, comme ceci:

{
    "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
        }
}
markquezada
la source
2

Si vous utilisez l'authentification implicite, vous devez avoir le problème de ne pas pouvoir trouver le user_id

J'ai trouvé un moyen par exemple:

Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331

feriez-vous un single split séparé par. obtient le jeton d'accès et le premier élément

Diego Machaca
la source
2

Je pense que la méthode la meilleure, la plus simple et la plus sûre est d' ouvrir votre profil instagram dans un navigateur, d' afficher le code source et de rechercher la variable utilisateur (ctrl + f "user": {" ) à l'intérieur du code javascript principal. Le numéro d'identification dans la variable utilisateur devrait soyez votre identité.

Voici le code à quoi il ressemblait au moment de la rédaction de cette réponse (il peut et sera probablement changé à l'avenir):

"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},
Bajlo
la source
2

Voici comment vous pouvez récupérer votre identifiant d'utilisateur à partir d'un nom d'utilisateur:

$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;
Nezar Fadle
la source
2

Vous pouvez le faire en utilisant l' API Instagram (User Endpoints: / users / search)

comment faire en 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);
Rathienth Baskaran
la source
3
Tristement; en utilisant les utilisateurs / la recherche, ceci est défectueux: (Nous avons découvert que si vous vous asseyez en actualisant cette URL, vous pouvez obtenir au hasard d'autres utilisateurs dont le nom d'utilisateur commence par le nom d'utilisateur que vous avez recherché. Par exemple, si vous recherchez "fred1", mais il y a également un "fred123", vous obtiendrez des résultats aléatoires! Signalé sur instagram; en attente d'une réponse :(
Danny Tuppeny
2

Voici un site Web vraiment simple qui fonctionne bien pour moi:

http://www.instaid.co.uk/

Ou vous pouvez faire ce qui suit en remplaçant `` nom d'utilisateur '' par votre nom d'utilisateur Instagram

https://www.instagram.com/username/?__a=1

Ou vous pouvez vous connecter à votre compte Instagram et utiliser les outils de développement de Google et consulter les cookies qui ont été stockés. 'ds_user_id' est votre ID utilisateur

entrez la description de l'image ici

BenEgan1991
la source
Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses aux liens uniquement peuvent devenir invalides si la page liée change. - De l'avis
Bugs
@Bugs J'ai ajouté une réponse plus détaillée. J'essaie juste de contribuer à la communauté stackoverflow.
BenEgan1991
1
https://api.instagram.com/v1/users/search?q="[USERNAME]"&access_token=[ACCESS TOKEN]

Veuillez noter les guillemets.

Cela ne renvoie pas toujours un résultat valide mais plus souvent qu'un résultat non cité:

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

renvoie l'utilisateur "self" (id: 311176867)

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

renvoie l'utilisateur "super_selfie" (id: 1422944651)

Ion Bazan
la source
1

Solution de travail ~ 2018

J'ai constaté que, à condition que vous disposiez d'un jeton d'accès, vous pouvez effectuer la demande suivante dans votre navigateur:

https://api.instagram.com/v1/users/self?access_token=[VALUE]

En fait, le jeton d'accès contient l' ID utilisateur (le premier segment du jeton):

<user-id>.1677aaa.aaa042540a2345d29d11110545e2499

Vous pouvez obtenir un jeton d'accès en utilisant cet outil fourni par Pixel Union .

Allan de Sydney
la source
0

Créez d'abord une application sur Instagram et obtenez l'identifiant du client pour votre application

http://instagram.com/developer/

Maintenant, copiez simplement et collez l'URL suivante dans la fenêtre du navigateur en remplaçant votre nom d'utilisateur et votre identifiant client https://api.instagram.com/v1/users/search?q=[Your-usernameITED&client_id=[Your-Client-Id]

vous obtiendrez un résultat Json contenant des informations générales sur votre compte ainsi que votre identifiant numérique

Akshay Khale
la source