Instagram 사용자 이름에서 내 사용자 ID를 얻는 방법은 무엇입니까?


125

JSON을 사용하여 내 웹 사이트에 내 이미지 피드를 삽입하는 중입니다. URL에는이 피드를 검색 할 수 있도록 내 사용자 ID가 필요합니다.

그렇다면 내 사용자 ID는 어디서 찾거나 얻을 수 있습니까?


1
나는이에 대한 새로운 빠른 도구를 발견 참조했습니다 codeofaninja.com/tools/find-instagram-user-id
Emkey

누군가 사용자 이름을 자주 변경하는 경우 사용자 ID에서 사용자 이름을 찾는 데 관심이있을 수 있습니다. 액세스 토큰없이 작동하는 답변을 추가했습니다. 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 June-20-2019, API는 현재 공개됩니다. 인증이 필요하지 않습니다.

2018 년 12 월 11 일 업데이트에서이 엔드 포인트가 계속 작동하는지 확인해야했습니다. 이 사이트는 더 이상 공용 엔드 포인트가 아니므로이 사이트에 요청을 보내기 전에 로그인해야합니다. 로그인 단계도 쉽습니다. 이것은 내 데모입니다 : https://youtu.be/ec5QhwM6fvc


2018 년 4 월 17 일에 업데이트되었습니다.이 엔드 포인트가 여전히 작동하는 것 같습니다 (그러나 더 이상 퍼블릭 엔드 포인트가 아님). 추가 정보가 포함 된 요청을 해당 엔드 포인트로 보내야합니다. (F12를 눌러 개발자 도구 모음을 연 다음 네트워크 탭을 클릭하고 요청을 추적합니다.)

너무 바빠서 미안 해요. 이 정보가 도움이되기를 바랍니다. 흠, 원하시면 아래 투표를 해주세요.


2018 년 4 월 12 일 업데이트에서 cameronjonesweb은이 엔드 포인트가 더 이상 작동하지 않는다고 말했습니다. 이 끝점에 액세스하려고하면 403 상태 코드가 반환됩니다.



1
어떻게 찾았습니까?
nilfalse

6
브라우저의 Developer Windows를 열고 Network 탭을 열면이 URL에 대한 요청을 볼 수 있습니다.
Thinh Vu 2016 년

3
소유자 ID를 찾으십시오.
Gulok

1
이것은 굉장합니다! 좋은 발견. 이것이 속도 제한을받지 않기를 바랍니다.
ded

2
아쉽게도 알고있는 특정 사용자 ID가 없으면 작동하지 않습니다. 인스 타 그램이 유효한 요청이 헤더에 제출 된 쿠키인지 확인하는 방법. 쿠키 속성에 user_id가 있으면 유효한 요청으로 간주됩니다. 표시된 URL로 이동할 때 요청 헤더의 쿠키 속성을 확인하십시오
Kiong

39

찾으려는 사용자 이름과 액세스 토큰을 사용하여 브라우저에이 URL을 입력하십시오.

https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]

16
슬프게도; 이것은 결함이 있습니다 :(이 URL을 새로 고침하면 사용자 이름이 검색 한 사용자 이름으로 시작하는 다른 사용자를 무작위로 가져올 수 있음을 발견했습니다. 예를 들어 "fred1"을 검색하지만 "fred123 "당신은 임의의 결과를 얻을 수 있습니다 인스 타 그램에보고, 응답을 기다리고 :(!
대니 Tuppeny에게

@frosty 꽤 신뢰할 수 없다고 생각합니다. 더 나은 결과를 얻었습니까?
sambecker

이에 대한 "public_content"권한이 필요하므로 작동하지 않습니다.
desloovere_j

@DannyTuppeny 인스 타 그램에서 답장을받은 적이 있습니까?
대기열

@Queue 유용한 것은 없습니다. 단지 쓰레기입니다. 결국 우리는 포기했고 어차피 통합을 완전히 망가 뜨린 6 월의 변경 이후로 우리는 앱에서 완전히 제거하고 있습니다.
Danny Tuppeny

18

대부분의 메서드는 6 월, 1/2016 API 변경 이후 사용되지 않습니다.

아래는 나를 위해 일했습니다.

  • 크롬, 사파리, 파이어 폭스 등 브라우저에서 인스 타 그램에 접속하세요.
  • 개발자 도구를 시작하고 콘솔 옵션으로 이동하십시오.
  • 명령 프롬프트에서 아래 명령을 입력하고 Enter를 누르십시오.

    window._sharedData.entry_data.ProfilePage[0].user.id
    

운이 좋으면 첫 번째 시도를 할 수 있습니다. 그렇지 않다면 인내심을 갖고 페이지를 새로 고치고 다시 시도하십시오. 사용자 ID가 보일 때까지 계속하십시오. 행운을 빕니다!!



18

쉽게 사용자 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 "}]}


1
가장 쉬운 방법. 그리고 액세스 토큰이 필요하지 않습니다!
좋아요

1
나는 또한 자바에서 도움 주제를 작성한다. latest-tutorial.com/2014/01/27/get-instagram-media-comments
Zeeshan Akhter

6
슬프게도; 이것은 결함이 있습니다 :(이 URL을 새로 고침하면 사용자 이름이 검색 한 사용자 이름으로 시작하는 다른 사용자를 무작위로 가져올 수 있음을 발견했습니다. 예 : "fred1"을 검색하지만 "fred123"도 검색하는 경우 "당신은 임의의 결과를 얻을 수 있습니다 인스 타 그램에보고, 응답을 기다리고 :(!
대니 Tuppeny에게

1
나는 Danny와 동의합니다.이 방법이 항상 작동하는 것은 아닙니다.
ca

2
Instagram은 2016 년 6 월 1 일부터 모든 client_id 지원을 제거했기 때문에 더 이상 작동하지 않습니다
Malcolm Box

14

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이 페이지 형식을 변경하면이 코드를 수정해야합니다.


4
API를 사용하지 않는 것이 좋지 않은 것 같습니다
472084

2
Thinh Vu의 답변에서 언급했듯이 객체 ?__a=1에서 JSON 만 가져 오도록 추가 하여 . window._sharedDatacurl https://www.instagram.com/username/?__a=1|jq -r .user.id
nisetama

7

현재 사용자 이름에서 사용자 ID를 가져 오는 직접적인 Instagram API는 없습니다. GET / users / search API 를 호출 한 다음 결과를 반복하고 username필드 값이 사용자 이름과 같은지 확인한 다음 id.


6

사용자 이름으로 Instagram ID를 검색하기 위해이 도구를 작성했습니다 : Instagram User ID Lookup .

python-instagram 라이브러리를 활용하여 API에 액세스 하고 Instagram API의 다양한 구현을 보여주는 소스 코드 (Django에서 작성)에 대한 링크를 포함합니다 .

업데이트 : Ruby on Rails에 대한 포트 소스 코드가 추가되었습니다 .


4
사용자 이름 링크로 Instagram ID를 검색하는 도구가 작동하지 않습니다. 업데이트하십시오.
Nishant Nawarkhede

@JaydeepJadav는 "제발"만큼도 아니야? 소스 코드는 GitHub에 있습니다. 풀 요청을 열 수 있습니다.
zeantsoi

5

앞서 언급 한 모든 솔루션을 시도했지만 작동하지 않습니다. 나는 Instagram이 그들의 변화를 가속화했다고 생각합니다. 그러나 나는 브라우저 콘솔 방법을 시도하고 약간 놀았고 나에게 사용자 ID를주는이 명령을 발견했습니다.

window._sharedData.entry_data.ProfilePage[0].graphql.user.id

프로필 페이지를 방문하여 콘솔에이 명령을 입력하기 만하면됩니다. 그래도 작동하려면 페이지를 새로 고쳐야 할 수도 있습니다. (저의 평판이 낮기 때문에 답변으로 게시해야했습니다)


5

2018 년 10 월 14 일 현재 액세스 토큰이없는 작업 솔루션 :

사용자 이름 검색 :

https://www.instagram.com/web/search/topsearch/?query=<username>

예:

https://www.instagram.com/web/search/topsearch/?query=therock

이것은 검색어입니다. 응답에서 정확히 일치하는 항목을 찾고 항목에서 사용자 ID를 가져 오십시오.


짧고 가장 좋은 답변이지만 사용자 이름이 없으면 관련 결과가 표시됩니다.
sanjeet bisht

4

당신은 사용할 필요가 Instagrams API당신의 변환 username에를 id.

내가 올바르게 기억 users/search하면 사용자 이름을 찾고 거기에서 ID를 얻는 데 사용합니다.


그 방법을 알려주세요!?
Muhammad Reda

무엇을합니까? 검색은 API 요청에 의해 이루어지며, 원하는대로 users/search가져 와서 id사용할 수 있습니다.
mlishn

4
슬프게도; 이것은 결함이 있습니다 :(이 URL을 새로 고침하면 사용자 이름이 검색 한 사용자 이름으로 시작하는 다른 사용자를 무작위로 가져올 수 있음을 발견했습니다. 예 : "fred1"을 검색하지만 "fred123"도 검색하는 경우 "당신은 임의의 결과를 얻을 수 있습니다 인스 타 그램에보고, 응답을 기다리고 :(!
대니 Tuppeny에게

링크 아래에 실제 사용자 이름과 사용자 이름 대신 api.instagram.com/v1/users/...
차트라 파티 샤르마

3

ID를 얻으려면 Instagram API users/self/feed엔드 포인트에 인증 된 요청을 합니다. 응답에는 다른 데이터 중에서 사용자의 ID와 사용자 이름이 포함됩니다.




2

이 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


3
슬프게도; 사용자 / 검색을 사용하면 결함이 있습니다 :(이 URL을 새로 고치면 사용자 이름이 검색 한 사용자 이름으로 시작하는 다른 사용자를 무작위로 가져올 수 있음을 발견했습니다. 예 : "fred1"을 검색하는 경우 또한 "fred123는"당신은 임의의 결과를 얻을 수 있습니다 인스 타 그램에보고, 응답을 기다리고 :(!
대니 Tuppeny

2
결함이 아니라 실제로 기능입니다. 그것은의 검색 인스 타 그램 앱의 검색 상자처럼 기능을 의미 API를. 사용자 이름에 대한 사용자 ID를 검색하는 적절한 방법은이 검색 끝점을 쿼리 한 다음 반환 된 개체를 반복하고 정확한 사용자 이름 일치를 확인하는 것입니다.
John Dorian

1
우리가 기쁘게 할 수 API를 개발자는 검색을 제공하고,이를 방지하기 위해 사용자 조회 끝점을 만들 동의로 Upvoted 두하지만 정말 짜증나
sricks


2

API 문서 페이지에 더 이상 나열되지 않지만 대신 사용할 수 있음을 언급 하는 스레드 를 찾았 습니다.selfuser-idusers/{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
        }
}

2

암시 적 인증을 사용하는 경우에는 찾을 수 없다는 문제가 있어야합니다. user_id

예를 들어 방법을 찾았습니다.

Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331

당신은. 액세스 토큰 및 첫 번째 요소에 대한 순종


2

가장 간단하고 안전한 방법은 브라우저에서 인스 타 그램 프로필열고 소스 코드보고 사용자 변수 (ctrl + f "user": { ")를 찾는 것입니다 . 기본 자바 스크립트 코드 내 )를 내의 ID 번호는 당신의 ID가 되십시오.

이것은이 답변을 작성하는 순간의 코드입니다 (향후 변경 될 수 있으며 아마도 변경 될 것입니다).

"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},

2

사용자 이름에서 사용자 ID를 검색하는 방법은 다음과 같습니다.

$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;

2

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);

3
슬프게도; 사용자 / 검색을 사용하면 결함이 있습니다 :(이 URL을 새로 고치면 사용자 이름이 검색 한 사용자 이름으로 시작하는 다른 사용자를 무작위로 가져올 수 있음을 발견했습니다. 예 : "fred1"을 검색하는 경우 또한 "fred123는"당신은 임의의 결과를 얻을 수 있습니다 인스 타 그램에보고, 응답을 기다리고 :(!
대니 Tuppeny

2

다음은 저에게 잘 맞는 정말 쉬운 웹 사이트입니다.

http://www.instaid.co.uk/

또는 다음과 같이 'username'을 Instagram 사용자 이름으로 바꿀 수 있습니다.

https://www.instagram.com/username/?__a=1

또는 Instagram 계정에 로그인하고 Google 개발 도구를 사용하고 저장된 쿠키를 볼 수 있습니다. 'ds_user_id'는 사용자 ID입니다.

여기에 이미지 설명 입력


이 링크가 질문에 답할 수 있지만 여기에 답변의 필수 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 무효화 될 수 있습니다. - 리뷰에서
Bugs

@ 버그 더 자세한 답변을 추가했습니다. 나는 단지 stackoverflow 커뮤니티에 기여하려고 노력하고 있습니다.
BenEgan1991

1
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)


1

작업 솔루션 ~ 2018

액세스 토큰이있는 경우 브라우저에서 다음 요청을 수행 할 수 있습니다.

https://api.instagram.com/v1/users/self?access_token=[VALUE]

실제로 액세스 토큰에는 사용자 ID (토큰의 첫 번째 세그먼트)가 포함됩니다.

<user-id>.1677aaa.aaa042540a2345d29d11110545e2499

Pixel Union에서 제공하는이 도구 를 사용하여 액세스 토큰을 얻을 수 있습니다 .


0

먼저 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 결과를 받게됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.