Я встраиваю свой канал изображений на свой веб-сайт с помощью 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, чтобы открыть панель инструментов разработчика, затем щелкните вкладку «Сеть» и проследите запрос.)
Извини, потому что я слишком занят. Надеюсь, эта информация поможет вам, ребята. Хм, не стесняйтесь голосовать против, если хотите.
Обновление от 12 апреля 2018 г., cameronjonesweb сообщило, что эта конечная точка больше не работает. Когда он / она пытается получить доступ к этой конечной точке, возвращается код состояния 403.
Введите этот URL-адрес в своем браузере с именем пользователя, которого вы хотите найти, и своим токеном доступа.
https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
Большинство методов устарели с июня, изменения API 1/2016
Ниже работал у меня,
в командной строке введите команду ниже и нажмите Enter:
window._sharedData.entry_data.ProfilePage[0].user.id
Если повезет, получится с первой попытки, если нет, наберитесь терпения, обновите страницу и попробуйте еще раз. продолжайте делать, пока не увидите идентификатор пользователя. Удачи!!
Легко получить идентификатор пользователя и данные пользователя
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
Результат:
{ "Мета": { "код": 200}, "данные": [{ "имя пользователя": "zeeshanakhter2009", "био": "http://about.me/zeeshanakhter", "сайт": "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 User ID Lookup .
Он использует библиотеку python-instagram для доступа к API и включает ссылку на исходный код (написанный на Django), который иллюстрирует различные реализации Instagram API.
Обновление : добавлен исходный код для переноса на Ruby on Rails .
Рабочее решение без токена доступа по состоянию на 14 октября 2018 г .:
Найдите имя пользователя:
https://www.instagram.com/web/search/topsearch/?query=<username>
Пример:
https://www.instagram.com/web/search/topsearch/?query=therock
Это поисковый запрос. Найдите в ответе точно совпадающую запись и получите идентификатор пользователя из записи.
Я пробовал все вышеупомянутые решения, и ни одно из них не работает. Думаю, Instagram ускорил их изменения. Однако я попробовал использовать метод консоли браузера, немного поигрался и нашел эту команду, которая дала мне идентификатор пользователя.
window._sharedData.entry_data.ProfilePage[0].graphql.user.id
Вы просто заходите на страницу профиля и вводите эту команду в консоли. Однако вам может потребоваться обновить страницу, чтобы это работало. (Мне пришлось опубликовать это как ответ из-за моей низкой репутации)
Вам нужно использовать 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". Оттуда вы можете найти любое имя пользователя и получить его идентификатор.
{
"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 док больше, я нашел нить , которая указывает , что вы можете использовать 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
Вы бы сделали сплит-сингл, разделенный на. obtenies к токену доступа и первому элементу
Я думаю, что лучший, самый простой и безопасный метод - открыть свой профиль 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 (конечные точки пользователя: / users / search)
инструкции на 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 и просмотреть файлы 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=[Your-usernamepting&client_id=[Your-Client-Id]
вы получите результат Json, содержащий общую информацию о вашей учетной записи вместе с вашим числовым идентификатором пользователя