JSON을 사용하여 내 웹 사이트에 내 이미지 피드를 삽입하는 중입니다. URL에는이 피드를 검색 할 수 있도록 내 사용자 ID가 필요합니다.
그렇다면 내 사용자 ID는 어디서 찾거나 얻을 수 있습니까?
JSON을 사용하여 내 웹 사이트에 내 이미지 피드를 삽입하는 중입니다. URL에는이 피드를 검색 할 수 있도록 내 사용자 ID가 필요합니다.
그렇다면 내 사용자 ID는 어디서 찾거나 얻을 수 있습니까?
답변:
매우 늦은 답변이지만 이것이이 주제에 대한 최고의 답변이라고 생각합니다. 이것이 유용하기를 바랍니다.
아래 URL로 요청하면 사용자 정보를 얻을 수 있습니다.
https://www.instagram.com/{username}/?__a=1
예 :
이 URL은 사용자 이름이 therock 인 사용자에 대한 모든 정보를 가져옵니다.
https://www.instagram.com/therock/?__a=1
2018 년 12 월 11 일 업데이트에서이 엔드 포인트가 계속 작동하는지 확인해야했습니다. 이 사이트는 더 이상 공용 엔드 포인트가 아니므로이 사이트에 요청을 보내기 전에 로그인해야합니다. 로그인 단계도 쉽습니다. 이것은 내 데모입니다 : https://youtu.be/ec5QhwM6fvc
2018 년 4 월 17 일에 업데이트되었습니다.이 엔드 포인트가 여전히 작동하는 것 같습니다 (그러나 더 이상 퍼블릭 엔드 포인트가 아님). 추가 정보가 포함 된 요청을 해당 엔드 포인트로 보내야합니다. (F12를 눌러 개발자 도구 모음을 연 다음 네트워크 탭을 클릭하고 요청을 추적합니다.)
너무 바빠서 미안 해요. 이 정보가 도움이되기를 바랍니다. 흠, 원하시면 아래 투표를 해주세요.
2018 년 4 월 12 일 업데이트에서 cameronjonesweb은이 엔드 포인트가 더 이상 작동하지 않는다고 말했습니다. 이 끝점에 액세스하려고하면 403 상태 코드가 반환됩니다.
찾으려는 사용자 이름과 액세스 토큰을 사용하여 브라우저에이 URL을 입력하십시오.
https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
대부분의 메서드는 6 월, 1/2016 API 변경 이후 사용되지 않습니다.
아래는 나를 위해 일했습니다.
명령 프롬프트에서 아래 명령을 입력하고 Enter를 누르십시오.
window._sharedData.entry_data.ProfilePage[0].user.id
운이 좋으면 첫 번째 시도를 할 수 있습니다. 그렇지 않다면 인내심을 갖고 페이지를 새로 고치고 다시 시도하십시오. 사용자 ID가 보일 때까지 계속하십시오. 행운을 빕니다!!
쉽게 사용자 ID 및 사용자 세부 정보 얻기
https://api.instagram.com/v1/users/search?q= [ 사용자 이름] & client_id = [YOU APP 클라이언트 ID]
예를 들면 :
https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_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 Akhter ","id ":"202090411 "}]}
API를 사용하는 대신 Instagram 사용자 페이지를 검사하여 ID를 얻을 수 있습니다. 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
현재 사용자 이름에서 사용자 ID를 가져 오는 직접적인 Instagram API는 없습니다. GET / users / search API 를 호출 한 다음 결과를 반복하고 username
필드 값이 사용자 이름과 같은지 확인한 다음 id
.
사용자 이름으로 Instagram ID를 검색하기 위해이 도구를 작성했습니다 : Instagram User ID Lookup .
python-instagram 라이브러리를 활용하여 API에 액세스 하고 Instagram API의 다양한 구현을 보여주는 소스 코드 (Django에서 작성)에 대한 링크를 포함합니다 .
업데이트 : Ruby on Rails에 대한 포트 소스 코드가 추가되었습니다 .
2018 년 10 월 14 일 현재 액세스 토큰이없는 작업 솔루션 :
사용자 이름 검색 :
https://www.instagram.com/web/search/topsearch/?query=<username>
예:
https://www.instagram.com/web/search/topsearch/?query=therock
이것은 검색어입니다. 응답에서 정확히 일치하는 항목을 찾고 항목에서 사용자 ID를 가져 오십시오.
당신은 사용할 필요가 Instagrams API
당신의 변환 username
에를 id
.
내가 올바르게 기억 users/search
하면 사용자 이름을 찾고 거기에서 ID를 얻는 데 사용합니다.
users/search
가져 와서 id
사용할 수 있습니다.
ID를 얻으려면 Instagram API users/self/feed
엔드 포인트에 인증 된 요청을 합니다. 응답에는 다른 데이터 중에서 사용자의 ID와 사용자 이름이 포함됩니다.
이러한 답변의 대부분은 2016 년 6 월 1 일 Instagram API 변경 후 유효하지 않습니다 . 이제 최상의 솔루션이 여기에 있습니다 . instagram.com의 피드로 이동하여 사진의 링크 주소를 복사하여 해당 페이지의 텍스트 상자에 붙여 넣습니다. 매력처럼 작동했습니다.
API 콘솔로 이동하여https://api.instagram.com/v1/users/self
텍스트 필드의 링크 를 복사 하고 Instagram ID 및 비밀번호를 사용하여 인증하면 응답으로 ID를 받게됩니다.
이 apigee.com를 통해 인스 타 그램 API 액세스 할 수 있습니다 여기에 인스 타 그램의 개발자 사이트에 있습니다. 로그인 후 "/ users / search"API 호출을 클릭하십시오. 거기에서 사용자 이름을 검색하고 ID를 검색 할 수 있습니다.
{
"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}
과 동일 하며 페이로드의 일부로 사용자 ID를 포함합니다. 인증이 완료되면를 호출 users/self
하면 다음과 같이 현재 인증 된 사용자의 ID가 결과에 포함됩니다.
{
"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
}
}
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);
다음은 저에게 잘 맞는 정말 쉬운 웹 사이트입니다.
또는 다음과 같이 'username'을 Instagram 사용자 이름으로 바꿀 수 있습니다.
https://www.instagram.com/username/?__a=1
또는 Instagram 계정에 로그인하고 Google 개발 도구를 사용하고 저장된 쿠키를 볼 수 있습니다. 'ds_user_id'는 사용자 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]
실제로 액세스 토큰에는 사용자 ID (토큰의 첫 번째 세그먼트)가 포함됩니다.
<user-id>.1677aaa.aaa042540a2345d29d11110545e2499
Pixel Union에서 제공하는이 도구 를 사용하여 액세스 토큰을 얻을 수 있습니다 .
먼저 Instagram에서 응용 프로그램을 만들고 응용 프로그램에 대한 클라이언트 ID를 얻으십시오.
http://instagram.com/developer/
이제 사용자 이름과 클라이언트 ID https://api.instagram.com/v1/users/search?q=[Your-username]&client_id=[Your-Client-Id] 를 바꿔 Url을 따라 브라우저 창에 붙여 넣기 만하면됩니다 .
숫자 사용자 ID와 함께 계정에 대한 일반 정보가 포함 된 Json 결과를 받게됩니다.