Я зараз вставляю свій канал зображень на свій веб-сайт за допомогою JSON, для URL-адреси потрібен мій ідентифікатор користувача, щоб я міг отримати цей канал.
Отже, де я можу знайти / отримати свій ідентифікатор користувача?
Я зараз вставляю свій канал зображень на свій веб-сайт за допомогою JSON, для URL-адреси потрібен мій ідентифікатор користувача, щоб я міг отримати цей канал.
Отже, де я можу знайти / отримати свій ідентифікатор користувача?
Відповіді:
Дуже пізня відповідь, але я думаю, що це найкраща відповідь на цю тему. Сподіваюся, це корисно.
Ви можете отримати інформацію про користувача, коли запит зроблено за допомогою URL-адреси нижче:
https://www.instagram.com/{username}/?__a=1
Наприклад:
Ця URL-адреса отримає всю інформацію про користувача, ім'я користувача якого є therock
https://www.instagram.com/therock/?__a=1
Оновлення в грудні-11-2018, мені потрібно було підтвердити, що ця кінцева точка все ще працює. Вам потрібно увійти до того, як надсилати запит на цей сайт, оскільки він більше не є публічним кінцевим пунктом. Крок входу також простий. Це моя демонстрація: https://youtu.be/ec5QhwM6fvc
Оновлення у квітні-17-2018, схоже, що ця кінцева точка все ще працює (але її вже не є публічною кінцевою точкою), ви повинні надіслати запит із додатковою інформацією до цієї кінцевої точки. (Натисніть F12, щоб відкрити панель інструментів для розробників, потім натисніть на вкладку Network і відстежте запит.)
Вибачте, бо я занадто зайнятий. Сподіваюся, ця інформація допоможе вам, хлопці. Хм, сміливо дай мені голосування, якщо хочеш.
Оновлення в квітні 12-2018, cameronjonesweb повідомив, що ця кінцева точка більше не працює. Коли він / вона намагається отримати доступ до цієї кінцевої точки, повертається код статусу 403.
Введіть цю URL-адресу у свій веб-переглядач із іменем користувачів, яке ви хочете знайти, та вашим маркером доступу
https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
Більшість методів застаріли з червня, 1/2016 зміни в api
Нижче працював для мене,
у командному рядку введіть нижче команду та натисніть клавішу Enter:
window._sharedData.entry_data.ProfilePage[0].user.id
Якщо вам пощастить, ви отримаєте з першої спроби, якщо ні, наберіться терпіння, оновіть сторінку та спробуйте ще раз. продовжуйте робити, поки ви не побачите ідентифікатор користувача. Удачі!!
Легко отримати ідентифікатор USER та дані користувача
https://api.instagram.com/v1/users/search?q= [ ІМЕНТ КОРИСТУВАЧА] & client_id = [ВАШ Ідентифікатор клієнта APP]
Наприклад:
https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id
Результат:
{"meta": {"код": 200}, "data": [{"ім'я користувача": "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 "}]}
Замість використання API можна оглянути сторінку користувача Instagram, щоб отримати ідентифікатор. Приклад коду в 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"];
Звичайно, цей код повинен бути адаптований, якщо Instagram змінить формат сторінки.
?__a=1
щоб отримати просто JSON в window._sharedData
об'єкт, щоб ви могли зробити щось подібне curl https://www.instagram.com/username/?__a=1|jq -r .user.id
.
Наразі немає API Instagram, щоб отримати ідентифікатор користувача від імені користувача. Вам потрібно зателефонувати в GET / users / search API, а потім повторити результати та перевірити, чи username
значення поля дорівнює вашому імені користувача чи ні, тоді ви захопите це id
.
Я написав цей інструмент для отримання ідентифікаторів Instagram за іменем користувача: Пошук користувачем Instagram .
Він використовує бібліотеку python-instagram для доступу до API та включає посилання на вихідний код (написаний на Django), який ілюструє різні реалізації API Instagram.
Оновлення : Додано вихідний код для порту до Ruby on Rails .
Я спробував усі вищезгадані рішення і жодне не працює. Я думаю, Instagram прискорив їх зміни. Проте я спробував метод консолі браузера і трохи пограв і знайшов цю команду, яка дала мені ідентифікатор користувача.
window._sharedData.entry_data.ProfilePage[0].graphql.user.id
Ви просто завітаєте на сторінку профілю і введіть цю команду в консоль. Вам може знадобитися оновити сторінку, щоб це працювало. (Мені довелося опублікувати це як відповідь через низьку репутацію)
Робоче рішення без маркера доступу станом на жовтень-14-2018:
Шукайте ім’я користувача:
https://www.instagram.com/web/search/topsearch/?query=<username>
Приклад:
https://www.instagram.com/web/search/topsearch/?query=therock
Це пошуковий запит. Знайдіть точно відповідні записи у відповіді та отримайте ідентифікатор користувача від запису.
Ви повинні використовувати Instagrams API
для перетворення username
To id
.
Якщо я правильно пам'ятаю, ви використовуєте users/search
для пошуку імені користувача та отримання ідентифікатора звідти
users/search
, тоді ви отримуєте id
та використовуєте його в будь-якому
щоб отримати свій ідентифікатор, зробіть аутентифікований запит до users/self/feed
кінцевої точки API API . відповідь міститиме, серед інших даних, ім’я користувача, а також ідентифікатор користувача.
Більшість цих відповідей є недійсними після змін API 6.06.2016 . Краще рішення зараз знаходиться тут . Перейдіть на ваш канал на instagram.com, скопіюйте адресу посилання для будь-якого зі своїх зображень та вставте її в текстове поле на цій сторінці. Працював як шарм.
Перейдіть до консолі api та скопіюйте https://api.instagram.com/v1/users/self
у текстовому полі та автентифікуйтесь, використовуючи id & пароль instagram, і отримаєте свій ідентифікатор
Це можна зробити через доступ до apigee.com Instagram API тут, на веб-сайті розробника Instagram. Після входу натисніть на виклик API "/ користувачів / пошук". Звідти ви можете шукати будь-яке ім’я користувача та отримати його ідентифікатор.
{
"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"
}]}
Якщо у вас уже є код доступу, це також можна зробити так:
https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN
Ну, ви можете просто зателефонувати за цим посиланням
http://jelled.com/ajax/instagram?do=username&username= evidenceUSER_NAME_GOES_HERESense&format=json
Незважаючи на те, що немає в списку на сторінці API док більше, я знайшов нитку , яка вказує , що ви можете використовувати self
замість user-id
для users/{user-id}
кінцевої точки і вона буде повертати дані в даний час аутентифицированного користувача.
Отже, users/self
це те саме, що явний виклик users/{some-user-id}
і містить ідентифікатор користувача як частина корисного навантаження. Після аутентифікації просто зателефонуйте, users/self
і результат буде містити ідентифікований на даний момент ідентифікатор користувача:
{
"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
}
}
Якщо ви використовуєте неявну автентифікацію, у вас повинна виникнути проблема неможливості їх пошуку user_id
Я знайшов спосіб, наприклад:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec
the User id is 1506417331
Ви б зробили роздільний сингл, відокремлений. відзначає маркер доступу та перший елемент
Я думаю, що найкращий, найпростіший і безпечний метод - це відкрити свій профіль instagram у браузері, переглянути вихідний код і шукати змінну користувача (ctrl + f "user": {" ) всередині основного коду JavaScript. Ідентифікаційний номер всередині змінної користувача повинен бути своїм ідентифікатором.
Це код, як це виглядало в момент написання цієї відповіді (це може, імовірно, буде змінено в майбутньому):
"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},
Ось як ви можете отримати свій ідентифікатор користувача з імені користувача:
$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;
Ви можете зробити це за допомогою Instagram API (Endpoints користувачів: / користувачів / пошук)
інструкція в 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);
Ось справді простий веб-сайт, який добре працює для мене:
Або ви можете зробити наступне, замінивши ім’я користувача "ім'ям користувача" в Instagram
https://www.instagram.com/username/?__a=1
Або ви можете увійти у свій обліковий запис Instagram і скористатися інструментами google dev та переглянути збережені файли cookie. 'ds_user_id' - ваш ідентифікатор користувача
https://api.instagram.com/v1/users/search?q="[USERNAME]"&access_token=[ACCESS TOKEN]
Будь ласка, зверніть увагу на лапки.
Це не завжди повертає дійсний результат, але частіше, ніж нецитується:
https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN]
повертає "self" користувача (id: 311176867)
https://api.instagram.com/v1/users/search?q=self&count=1&access_token=[ACCESS TOKEN]
повертає користувача "super_selfie" (id: 1422944651)
Робоче рішення ~ 2018
Я виявив, що, надаючи маркер доступу, ви можете виконати такий запит у своєму браузері:
https://api.instagram.com/v1/users/self?access_token=[VALUE]
Фактично маркер доступу містить ідентифікатор користувача (перший сегмент маркера):
<user-id>.1677aaa.aaa042540a2345d29d11110545e2499
Ви можете отримати маркер доступу, скориставшись цим інструментом, наданим Pixel Union .
Спочатку створіть додаток в Instagram та отримайте ідентифікатор клієнта для вашої програми
http://instagram.com/developer/
Тепер просто скопіюйте вставку наступного Url у вікно браузера, замінивши своє ім’я користувача та ідентифікатор клієнта https://api.instagram.com/v1/users/search?q=/11
ви отримаєте Json Result, що містить загальну інформацію про ваш обліковий запис разом із вашим ідентифікаційним номером користувача