Instagram Как получить идентификатор пользователя от имени пользователя?
Я нахожусь в процессе встраивания моего изображения в мой сайт с помощью JSON, URL-адрес нуждается в моем идентификаторе пользователя, чтобы я мог получить этот канал.
Итак, где я могу найти/получить свой идентификатор пользователя?
23 ответа:
обновление в Apr-17-2018, Похоже, что эта конечная точка все еще работает (но ее больше не публичная конечная точка), вы должны отправить запрос с дополнительной информацией на эту конечную точку. (Нажмите F12, чтобы открыть Панель инструментов разработчика, затем перейдите на вкладку Сеть и отследите запрос.)
жаль, потому что я слишком занят. Надеюсь, эта информация поможет вам, ребята. Хм, не стесняйтесь дать мне право голоса, если хотите.
обновление в Apr-12-2018, cameronjonesweb сказал, что эта конечная точка не делает больше работать. Когда он/она пытается получить доступ к этой конечной точке, возвращается код состояния 403.
очень поздний ответ, но я думаю, что это лучший ответ на эту тему. Надеюсь, что это полезно.
вы можете получить информацию о пользователе, когда запрос сделан с url ниже:
https://www.instagram.com/{username}/?__a=1
например:
этот url-адрес будет получать всю информацию о пользователе, имя пользователя которого является therock
https://www.instagram.com/therock/?__a=1
введите этот url-адрес в вашем браузере с именем пользователя, которое вы хотите найти, и ваш токен доступа
https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
легко получить идентификатор пользователя и сведения о пользователе
https://api.instagram.com/v1/users/search?q=[ user NAME] &client_id=[ YOU APP Client ID ]
Например:
https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter Ваш id
результат:
{"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 Ахтер", "id":"202090411"}]}
большинство методов являются устаревшими, начиная с июня, 1/2016 изменения API
ниже работал для меня,
- доступ к instagram в вашем браузере говорят chrome, safari или firefox.
- запустите инструменты разработчика, перейдите к опции консоли.
в командной строке введите команду ниже и нажмите enter:
window._sharedData.entry_data.ProfilePage[0].user.id
Если Вам повезет, вы получите с первой попытки, если нет, наберитесь терпения, обновите страницу и повторите попытку. держать делать, пока не увидите user-id. Удачи вам!!
вместо того, чтобы использовать 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 меняет формат страницы.
Я написал этот инструмент для получения идентификаторов Instagram по имени пользователя: Instagram user ID Lookup.
Он использует python-instagram библиотека для доступа к API и включает в себя ссылка на исходный код (написано на Django), который иллюстрирует различные реализации API Instagram.
обновление: добавлен исходный код порт в Ruby on Rails.
в настоящее время нет прямого API Instagram, чтобы получить идентификатор пользователя от имени пользователя. Вам нужно позвонить в GET / users / search API, а затем повторите результаты и проверьте, если
username
значение поля равно вашему имени пользователя или нет, тогда вы хватаетеid
.
вы должны использовать
Instagrams API
преобразовать вашusername
toid
.если я правильно помню, вы используете
users/search
найти имя пользователя и получить идентификатор от туда
Я пробовал все вышеупомянутые решения и ни один не работает. Я думаю, Instagram ускорил их изменения. Я попробовал, однако, метод консоли браузера и немного поиграл и нашел эту команду, которая дала мне идентификатор пользователя.
window._sharedData.entry_data.ProfilePage[0].graphql.user.id
вы просто заходите на страницу профиля и вводите эту команду в консоль. Возможно,вам придется обновить страницу, чтобы это работало. (Я должен был опубликовать это в качестве ответа, из-за моей низкой репутации)
чтобы получить свой идентификатор, сделайте аутентифицированный запрос к API Instagram
users/self/feed
конечной точки. ответ будет содержать, среди прочих данных, имя пользователя, а также идентификатор пользователя.
перейдите в консоль api & Копировать ссылку
https://api.instagram.com/v1/users/self
в текстовом поле и аутентификации с помощью instagram id & пароль, вы получите Ваш идентификатор в ответ
большинство этих ответов недействительны после 6/1/2016 Instagram API изменения. Лучшим решением сейчас является здесь. Перейти к вашему каналу instagram.com скопируйте адрес ссылки для любой из ваших фотографий и вставьте его в текстовое поле на этой странице. Сработало как по волшебству.
Это можно сделать через apigee.com доступ к API Instagram здесь на сайте разработчика Instagram. После входа в систему нажмите на вызов API "/users/search". Оттуда вы можете найти любое имя пользователя и получить его идентификатор.
{ "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=[USER_NAME_GOES_HERE]&format=json
хотя он больше не указан на странице API doc, я нашел thread что упоминает, что вы можете использовать
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 } }
Если вы используете неявную аутентификацию, у вас должна быть проблема с невозможностью найти ид_пользователя
Я нашел способ, например:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331
ты бы раздвоение единого, отделенных друг от друга . obtenies to acces token и первый элемент
Я думаю, что лучший, самый простой и безопасный метод-это откройте свой профиль instagram в браузере посмотреть исходный код и ищите переменную пользователя (ctrl+f "пользователь":{") внутри основного кода 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 (конечные точки пользователя: / пользователи / поиск)
how - to в 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);
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)
здесь очень простой сайт, который хорошо работает для меня:
или вы можете сделать следующее, заменив "имя пользователя" на ваше имя пользователя Instagram
https://www.instagram.com/username/?__a=1
или вы можете войти в свой аккаунт Instagram и использовать инструменты Google dev и посмотреть на куки, которые были сохранены. 'ds_user_id' - это ваш пользователь Идентификатор
сначала создайте приложение на Instagram и получите идентификатор клиента для вашего приложения
http://instagram.com/developer/
теперь просто скопируйте вставить следующий Url в окно браузера, заменив имя пользователя и идентификатор клиента https://api.instagram.com/v1/users/search?q=[Your-username]&client_id=[Your-Client-Id]
вы получите результат Json, содержащий общую информацию о вашей учетной записи вместе с вашим числовым пользователем Идентификатор
рабочее решение ~2018
я обнаружил, что если у вас есть маркер доступа, вы можете выполнить следующий запрос в вашем браузере:
https://api.instagram.com/v1/users/self?access_token=[VALUE]
фактически, маркер доступа содержит идентификатор пользователя (первый сегмент маркера):
<user-id>.1677aaa.aaa042540a2345d29d11110545e2499
Вы можете получить маркер доступа с помощью этот инструмент предоставляется Pixel Union.