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?
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?
Réponses:
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 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.
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]
La plupart des méthodes sont obsolètes depuis les modifications de l'API du 1er juin 2016
Ci-dessous a travaillé pour moi,
à 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!!
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 "}]}
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.
?__a=1
pour obtenir uniquement le JSON dans l' window._sharedData
objet, afin de pouvoir faire quelque chose comme curl https://www.instagram.com/username/?__a=1|jq -r .user.id
.
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 username
valeur du champ est égale ou non à votre nom d'utilisateur, puis vous récupérez le fichier id
.
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 .
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)
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.
Vous devez utiliser Instagrams API
pour convertir votre username
à id
.
Si je me souviens bien, vous utilisez users/search
pour trouver le nom d'utilisateur et obtenir l'identifiant à partir de là
users/search
, puis vous obtenez le id
et utilisez-le dans ce que vous
pour obtenir votre identifiant, faites une demande authentifiée au users/self/feed
point 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.
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.
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
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
Eh bien, vous pouvez simplement appeler ce lien
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-id
pour le users/{user-id}
point de terminaison et il renverra les informations de l'utilisateur actuellement authentifié.
Donc, users/self
est 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/self
et 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
}
}
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
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":"..."}},
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;
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);
Voici un site Web vraiment simple qui fonctionne bien pour moi:
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
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)
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 .
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