Instagram как получить свой идентификатор пользователя из имени пользователя?
125
Я встраиваю свой канал изображений на свой веб-сайт с помощью JSON, для URL-адреса нужен мой идентификатор пользователя, чтобы я мог получить этот канал.
Итак, где я могу найти / получить свой идентификатор пользователя?
Вам также может быть интересно найти имя пользователя по идентификатору пользователя, если кто-то часто меняет имя пользователя. Я добавил ответ, который работает без токена доступа: stackoverflow.com/a/60744028/1176454
baptx
Ответы:
236
Очень поздний ответ, но я думаю, что это лучший ответ на эту тему. Надеюсь, это будет полезно.
Вы можете получить информацию о пользователе, когда будет сделан запрос по указанному ниже URL:
https://www.instagram.com/{username}/?__a=1
Например:
Этот URL-адрес получит всю информацию о пользователе, чье имя - therock.
https://www.instagram.com/therock/?__a=1
Обновление i июнь-20-2019, API теперь общедоступен. Никакой аутентификации не требуется.
Обновление от 11 декабря 2018 г., мне нужно было подтвердить, что эта конечная точка все еще работает. Вам необходимо войти в систему перед отправкой запроса на этот сайт, потому что это больше не общедоступная конечная точка. Шаг входа в систему также прост. Это моя демонстрация:
https://youtu.be/ec5QhwM6fvc
Обновление от 17 апреля 2018 г. Похоже, эта конечная точка все еще работает (но это больше не общедоступная конечная точка), вы должны отправить запрос с дополнительной информацией на эту конечную точку. (Нажмите F12, чтобы открыть панель инструментов разработчика, затем щелкните вкладку «Сеть» и проследите запрос.)
Извини, потому что я слишком занят. Надеюсь, эта информация поможет вам, ребята. Хм, не стесняйтесь голосовать против, если хотите.
Обновление от 12 апреля 2018 г., cameronjonesweb сообщило, что эта конечная точка больше не работает. Когда он / она пытается получить доступ к этой конечной точке, возвращается код состояния 403.
Когда вы открываете Developer Windows своего браузера и открываете вкладку Network, вы можете увидеть запрос на этот URL.
Thinh Vu
3
ищите идентификатор владельца.
Gulok
1
это круто! хорошая находка. Будем надеяться, что это не будет ограничено по скорости.
ded
2
К сожалению, это не сработает, если у вас нет определенного идентификатора пользователя, который вам известен. Инстаграм проверяет правильность запроса с помощью файла cookie, отправленного в заголовке. Если user_id существует в файле cookie, это будет считаться действительным запросом. Проверьте свойство cookie в заголовке запроса при переходе по указанному URL
Kiong
39
Введите этот URL-адрес в своем браузере с именем пользователя, которого вы хотите найти, и своим токеном доступа.
К сожалению, это ошибочно :( Мы обнаружили, что если вы сидите и обновляете этот URL-адрес, вы можете случайным образом получить других пользователей, чьи имена начинаются с имени пользователя, которое вы искали. Например, если вы ищете «fred1», но есть также «fred123» ", вы получите случайные результаты! Сообщение в инстаграмм;
ждем
@frosty Я считаю это довольно ненадежным - у вас были лучшие результаты?
Sambecker
Это не работает, так как для этого вам нужно разрешение "public_content".
desloovere_j
@DannyTuppeny Вы когда-нибудь получали ответ из Instagram?
Очередь
@Queue Ничего полезного, просто фигня. В конце концов мы сдались, и, поскольку их изменения в июне полностью нарушили нашу интеграцию, мы просто полностью удалили их из нашего приложения.
Дэнни Таппени
18
Большинство методов устарели с июня, изменения API 1/2016
Ниже работал у меня,
войдите в Instagram в своем браузере, скажите chrome, safari или firefox.
Запустите инструменты разработчика, перейдите к опции консоли.
в командной строке введите команду ниже и нажмите Enter:
Если повезет, получится с первой попытки, если нет, наберитесь терпения, обновите страницу и попробуйте еще раз. продолжайте делать, пока не увидите идентификатор пользователя. Удачи!!
К сожалению, это ошибочно :( Мы обнаружили, что если вы сидите и обновляете этот URL-адрес, вы можете случайным образом получить других пользователей, чьи имена начинаются с имени пользователя, которое вы искали. Например, если вы ищете «fred1», но есть также «fred123» ", вы получите случайные результаты! Сообщение в инстаграмм;
ждем
1
Я согласен с Дэнни, этот метод не всегда работает.
около
2
Больше не работает, так как Instagram удалил всю поддержку client_id с 1 июня 2016 года
Малкольм Бокс
14
Вместо использования API можно изучить страницу пользователя Instagram, чтобы получить идентификатор. Пример кода на PHP:
$html = file_get_contents("http://instagram.com/<username>");
$doc =newDOMDocument();
$doc->loadHTML($html);
$xpath =newDOMXPath($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 изменит формат страницы.
Как упоминается в ответе Thinh Vu, вы можете добавить, ?__a=1чтобы получить только JSON в window._sharedDataобъекте, чтобы вы могли сделать что-то вроде curl https://www.instagram.com/username/?__a=1|jq -r .user.id.
нисетама
7
В настоящее время нет прямого API Instagram для получения идентификатора пользователя из имени пользователя. Вам нужно вызвать GET / users / search API, а затем выполнить итерацию результатов и проверить, usernameсовпадает ли значение поля с вашим именем пользователя или нет, затем вы берете файл id.
Я написал этот инструмент для получения идентификаторов Instagram по имени пользователя: Instagram User ID Lookup .
Он использует библиотеку python-instagram для доступа к API и включает ссылку на исходный код (написанный на Django), который иллюстрирует различные реализации Instagram API.
короткий и лучший ответ, но если имя пользователя не найдено, будут показаны соответствующие результаты.
sanjeet bisht
как насчет ограничения скорости?
Арнав Сингх
5
Я пробовал все вышеупомянутые решения, и ни одно из них не работает. Думаю, Instagram ускорил их изменения. Однако я попробовал использовать метод консоли браузера, немного поигрался и нашел эту команду, которая дала мне идентификатор пользователя.
Вы просто заходите на страницу профиля и вводите эту команду в консоли. Однако вам может потребоваться обновить страницу, чтобы это работало. (Мне пришлось опубликовать это как ответ из-за моей низкой репутации)
Можете ли вы сказать мне метод, который это делает !?
Мухаммад Реда
делает что? поиск осуществляется с помощью запроса API users/search, затем вы получаете его idи используете в чем
хотите
4
К сожалению, это ошибочно :( Мы обнаружили, что если вы сидите и обновляете этот URL-адрес, вы можете случайным образом получить других пользователей, чьи имена начинаются с имени пользователя, которое вы искали. Например, если вы ищете «fred1», но есть также «fred123» ", вы получите случайные результаты! Сообщение в инстаграмм;
чтобы получить свой идентификатор, сделайте аутентифицированный запрос к users/self/feedконечной точке Instagram API . ответ будет содержать, среди других данных, имя пользователя, а также идентификатор пользователя.
Большинство этих ответов недействительны после изменений в Instagram API 01.06.2016 . Лучшее решение сейчас здесь . Перейдите в свою ленту на instagram.com, скопируйте адрес ссылки для любого из своих изображений и вставьте его в текстовое поле на этой странице. Работал как шарм.
Перейдите в консоль api и скопируйте ссылку https://api.instagram.com/v1/users/self в текстовое поле и выполните аутентификацию, используя свой идентификатор и пароль Instagram, вы получите свой идентификатор в ответ
Это можно сделать через apigee.com доступ к API Instagram здесь, на сайте разработчика Instagram. После входа в систему щелкните вызов API "/ users / search". Оттуда вы можете найти любое имя пользователя и получить его идентификатор.
К сожалению, использование users / search ошибочно :( Мы обнаружили, что если вы обновите этот URL, вы можете случайным образом получить других пользователей, чье имя начинается с имени пользователя, которое вы искали. Например, если вы ищете "fred1", но есть также "fred123", вы получите случайные результаты! Сообщено в Instagram; ожидая ответа :(
Дэнни Таппени,
2
Это не недостаток, а функциональность. Это API поиска , то есть он работает как поле поиска в приложении Instagram. Правильный способ получить идентификатор пользователя для имени пользователя - запросить эту конечную точку поиска, а затем перебрать возвращенные объекты и проверить точное совпадение имени пользователя.
Джон Дориан
1
Проголосовали за оба, но, как разработчики api, можем ли мы, пожалуйста, согласиться на создание конечной точки поиска пользователей, чтобы избежать этого, предложение только поиска действительно раздражает
Могу ли я узнать, какой предел скорости у jelled.com?
Амина Нураини
2
Несмотря на то, что нет в списке на странице API док больше, я нашел нить , которая указывает , что вы можете использовать selfвместо user-idдля users/{user-id}конечной точки и она будет возвращать данные в настоящее время аутентифицированного пользователя.
Таким образом, users/selfэто то же самое, что и явный вызов, users/{some-user-id}и он содержит идентификатор пользователя как часть полезной нагрузки. После аутентификации просто позвоните, users/selfи результат будет включать идентификатор пользователя, прошедшего аутентификацию, например:
Я думаю, что лучший, самый простой и безопасный метод - открыть свой профиль Instagram в браузере, просмотреть исходный код и найти пользовательскую переменную (ctrl + f "user": {" ) внутри основного кода javascript. Идентификационный номер внутри пользовательской переменной должен будь твоим идентификатором.
Вот код, как он выглядел в момент написания этого ответа (он может и, вероятно, будет изменен в будущем):
К сожалению, использование users / search ошибочно :( Мы обнаружили, что если вы обновите этот URL, вы можете случайным образом получить других пользователей, чье имя начинается с имени пользователя, которое вы искали. Например, если вы ищете "fred1", но есть также "fred123", вы получите случайные результаты! Сообщено в Instagram; ожидая ответа :(
Дэнни Таппени,
2
Вот действительно простой веб-сайт, который мне подходит:
Или вы можете войти в свою учетную запись Instagram и использовать инструменты разработчика Google и просмотреть файлы cookie, которые были сохранены. 'ds_user_id' - ваш идентификатор пользователя
Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если ссылка на страницу изменится. - Из
Bugs
@Bugs Я добавил более подробный ответ. Я просто пытаюсь внести свой вклад в сообщество stackoverflow.
Ответы:
Очень поздний ответ, но я думаю, что это лучший ответ на эту тему. Надеюсь, это будет полезно.
Вы можете получить информацию о пользователе, когда будет сделан запрос по указанному ниже URL:
Например:
Этот URL-адрес получит всю информацию о пользователе, чье имя - therock.
Обновление i июнь-20-2019, API теперь общедоступен. Никакой аутентификации не требуется.
Обновление от 11 декабря 2018 г., мне нужно было подтвердить, что эта конечная точка все еще работает. Вам необходимо войти в систему перед отправкой запроса на этот сайт, потому что это больше не общедоступная конечная точка. Шаг входа в систему также прост. Это моя демонстрация: https://youtu.be/ec5QhwM6fvc
Обновление от 17 апреля 2018 г. Похоже, эта конечная точка все еще работает (но это больше не общедоступная конечная точка), вы должны отправить запрос с дополнительной информацией на эту конечную точку. (Нажмите F12, чтобы открыть панель инструментов разработчика, затем щелкните вкладку «Сеть» и проследите запрос.)
Извини, потому что я слишком занят. Надеюсь, эта информация поможет вам, ребята. Хм, не стесняйтесь голосовать против, если хотите.
Обновление от 12 апреля 2018 г., cameronjonesweb сообщило, что эта конечная точка больше не работает. Когда он / она пытается получить доступ к этой конечной точке, возвращается код состояния 403.
источник
Введите этот URL-адрес в своем браузере с именем пользователя, которого вы хотите найти, и своим токеном доступа.
источник
Большинство методов устарели с июня, изменения API 1/2016
Ниже работал у меня,
в командной строке введите команду ниже и нажмите Enter:
Если повезет, получится с первой попытки, если нет, наберитесь терпения, обновите страницу и попробуйте еще раз. продолжайте делать, пока не увидите идентификатор пользователя. Удачи!!
источник
Легко получить идентификатор пользователя и данные пользователя
https://api.instagram.com/v1/users/search?q= [ ИМЯ ПОЛЬЗОВАТЕЛЯ] & client_id = [ID клиента ВАШЕГО приложения]
Например:
https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id
Результат:
источник
Вместо использования API можно изучить страницу пользователя Instagram, чтобы получить идентификатор. Пример кода на PHP:
Конечно, этот код необходимо адаптировать, если 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 User ID Lookup .
Он использует библиотеку python-instagram для доступа к API и включает ссылку на исходный код (написанный на Django), который иллюстрирует различные реализации Instagram API.
Обновление : добавлен исходный код для переноса на Ruby on Rails .
источник
Рабочее решение без токена доступа по состоянию на 14 октября 2018 г .:
Найдите имя пользователя:
Пример:
Это поисковый запрос. Найдите в ответе точно совпадающую запись и получите идентификатор пользователя из записи.
источник
Я пробовал все вышеупомянутые решения, и ни одно из них не работает. Думаю, Instagram ускорил их изменения. Однако я попробовал использовать метод консоли браузера, немного поигрался и нашел эту команду, которая дала мне идентификатор пользователя.
Вы просто заходите на страницу профиля и вводите эту команду в консоли. Однако вам может потребоваться обновить страницу, чтобы это работало. (Мне пришлось опубликовать это как ответ из-за моей низкой репутации)
источник
Вам нужно использовать
Instagrams API
для преобразования вашегоusername
вid
.Если я правильно помню, вы используете
users/search
для поиска имени пользователя и получения идентификатора оттудаисточник
users/search
, затем вы получаете егоid
и используете в чемчтобы получить свой идентификатор, сделайте аутентифицированный запрос к
users/self/feed
конечной точке Instagram API . ответ будет содержать, среди других данных, имя пользователя, а также идентификатор пользователя.источник
Большинство этих ответов недействительны после изменений в Instagram API 01.06.2016 . Лучшее решение сейчас здесь . Перейдите в свою ленту на instagram.com, скопируйте адрес ссылки для любого из своих изображений и вставьте его в текстовое поле на этой странице. Работал как шарм.
источник
Перейдите в консоль api и скопируйте ссылку
https://api.instagram.com/v1/users/self
в текстовое поле и выполните аутентификацию, используя свой идентификатор и пароль Instagram, вы получите свой идентификатор в ответисточник
Это можно сделать через apigee.com доступ к API Instagram здесь, на сайте разработчика Instagram. После входа в систему щелкните вызов API "/ users / search". Оттуда вы можете найти любое имя пользователя и получить его идентификатор.
Если у вас уже есть код доступа, это также можно сделать так: https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN
источник
Вы можете просто позвонить по этой ссылке
http://jelled.com/ajax/instagram?do=username&username=[USER_NAME_GOES_HERE]&format=json
источник
Несмотря на то, что нет в списке на странице API док больше, я нашел нить , которая указывает , что вы можете использовать
self
вместоuser-id
дляusers/{user-id}
конечной точки и она будет возвращать данные в настоящее время аутентифицированного пользователя.Таким образом,
users/self
это то же самое, что и явный вызов,users/{some-user-id}
и он содержит идентификатор пользователя как часть полезной нагрузки. После аутентификации просто позвоните,users/self
и результат будет включать идентификатор пользователя, прошедшего аутентификацию, например:источник
Если вы используете неявную аутентификацию, то проблема в том, что вы не можете найти user_id
Я нашел способ например:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331
Вы бы сделали сплит-сингл, разделенный на. obtenies к токену доступа и первому элементу
источник
Я думаю, что лучший, самый простой и безопасный метод - открыть свой профиль Instagram в браузере, просмотреть исходный код и найти пользовательскую переменную (ctrl + f "user": {" ) внутри основного кода javascript. Идентификационный номер внутри пользовательской переменной должен будь твоим идентификатором.
Вот код, как он выглядел в момент написания этого ответа (он может и, вероятно, будет изменен в будущем):
источник
Вот как вы можете получить свой идентификатор пользователя из имени пользователя:
источник
Вы можете сделать это с помощью Instagram API (конечные точки пользователя: / users / search)
инструкции на php:
источник
Вот действительно простой веб-сайт, который мне подходит:
http://www.instaid.co.uk/
Или вы можете сделать следующее, заменив «имя пользователя» своим именем пользователя в Instagram.
https://www.instagram.com/username/?__a=1
Или вы можете войти в свою учетную запись Instagram и использовать инструменты разработчика Google и просмотреть файлы cookie, которые были сохранены. 'ds_user_id' - ваш идентификатор пользователя
источник
Обратите внимание на кавычки.
Это не всегда возвращает действительный результат, но чаще, чем результат без кавычек:
возвращает пользователя self (id: 311176867)
возвращает пользователя 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=[Your-usernamepting&client_id=[Your-Client-Id]
вы получите результат Json, содержащий общую информацию о вашей учетной записи вместе с вашим числовым идентификатором пользователя
источник