Instagram como obter meu ID de usuário de nome de usuário?


125

Estou incorporando meu feed de imagens no meu site usando JSON, o URL precisa do meu ID de usuário para que eu possa recuperar esse feed.

Então, onde posso encontrar / obter meu ID de usuário?


1
Eu encontrei um novo e mais rápido ferramenta para isso, ver codeofaninja.com/tools/find-instagram-user-id
Emkey

Você também pode estar interessado em encontrar o nome de usuário a partir de um ID do usuário, caso alguém mude frequentemente o nome de usuário. Eu adicionei uma resposta que funciona sem token de acesso: stackoverflow.com/a/60744028/1176454
baptx 18/18

Respostas:


235

Resposta muito tardia, mas acho que esta é a melhor resposta para este tópico. Espero que isso seja útil.

Você pode obter informações do usuário quando uma solicitação é feita com o URL abaixo:

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

Por exemplo:

Este URL obterá todas as informações sobre um usuário cujo nome de usuário é o mesmo

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

Atualização de 20 a 20 de junho de 2019, a API é pública agora. Nenhuma autenticação necessária.

Atualização em 11 de dezembro de 2018, eu precisava confirmar que esse terminal ainda funciona. Você precisa fazer o login antes de enviar a solicitação para este site, pois não é mais um endpoint público. A etapa de login também é fácil. Esta é a minha demonstração: https://youtu.be/ec5QhwM6fvc


Atualização em 17 de abril de 2018, parece que esse terminal ainda está funcionando (mas não é mais um terminal público); você deve enviar uma solicitação com informações adicionais para esse terminal. (Pressione F12 para abrir a barra de ferramentas do desenvolvedor, clique na guia Rede e rastreie a solicitação.)

Desculpe, porque estou muito ocupado. Espero que esta informação ajude vocês. Hmm, fique à vontade para me dar uma votação se quiser.


Atualização em 12 de abril de 2018, cameronjonesweb disse que esse endpoint não funciona mais. Quando ele / ela tenta acessar esse terminal, o código de status 403 é retornado.



1
Como você encontrou isso?
Nilfalse

6
Quando você abre o Developer Windows do seu navegador e abre a guia Rede, pode ver a solicitação para este URL.
Thinh Vu

3
procure o ID do proprietário.
Gulok 22/09/16

1
isso é incrível! boa descoberta. esperamos que isso não fique com taxa limitada.
ded

2
Infelizmente, isso não funciona, a menos que você tenha um ID de usuário específico que você conheça. A maneira como o instagram verifica se é uma solicitação válida é pelo cookie enviado no cabeçalho. Se user_id existir no proeprty do cookie, será considerada uma solicitação válida. Confira a propriedade cookie no cabeçalho da solicitação quando você navegar para o URL mostrado
Kiong

39

Digite este URL no seu navegador com o nome de usuário que você deseja encontrar e seu token de acesso

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

16
Infelizmente; isso é defeituoso :( Descobrimos que, se você estiver atualizando esse URL, poderá obter aleatoriamente outros usuários cujo nome de usuário comece com o nome de usuário que você procurou. Por exemplo, se você estiver pesquisando por "fred1", mas também houver um "fred123 ", você obterá resultados aleatórios! Reportado ao instagram; aguardando uma resposta :(
Danny Tuppeny

@ gelado acho isso pouco confiável - você teve melhores resultados?
Sambecker

Isso não funciona, pois você precisa da permissão "public_content" para isso.
desloovere_j

@DannyTuppeny Você já ouviu de volta no Instagram?
Fila

@Queue Nada útil, apenas lixo. Eventualmente, desistimos e, desde as mudanças em junho que interromperam totalmente nossa integração, estamos apenas retirando-as completamente do aplicativo.
Danny Tuppeny

18

A maioria dos métodos está obsoleta desde junho de 1/2016. Alterações na API

Abaixo funcionou para mim,

  • acesse o instagram no seu navegador, como chrome, safari ou firefox.
  • Inicie as ferramentas do desenvolvedor, vá para a opção de console.
  • no prompt de comando, digite o comando abaixo e pressione enter:

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

Se tiver sorte, na primeira tentativa, caso contrário, seja paciente, atualize a página e tente novamente. continue fazendo até ver o ID do usuário. Boa sorte!!


1
Aqui está um código de exemplo para esta solução. github.com/vhpoet/liltools/blob/master/index.js#L13-L28 Hospedado: liltools.com/instagram
Vahe Hovhannisyan

18

Obtenha facilmente USER ID e detalhes do usuário

https://api.instagram.com/v1/users/search?q= [ NOME DO USUÁRIO] & client_id = [VOCÊ APP Client ID]

Por exemplo:

https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id

Resultado:

{"meta": {"code": 200}, "data": [{"nomedeusuário": "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
Caminho mais fácil. E não há necessidade de um token de acesso!
Adorei

1
Eu também escrevo o tópico ajudar sobre isso em java u pode ver em detalhes latest-tutorial.com/2014/01/27/get-instagram-media-comments
Zeeshan Akhter

6
Infelizmente; isso é defeituoso :( Descobrimos que, se você estiver atualizando este URL, poderá obter aleatoriamente outros usuários cujo nome de usuário comece com o nome que procurou. Por exemplo, se você estiver pesquisando por "fred1", mas também houver um "fred123 ", você obterá resultados aleatórios! Reportado ao instagram; aguardando uma resposta :(
Danny Tuppeny

1
Eu concordo com Danny, esse método nem sempre funciona.
ca

2
Não funciona mais desde Instagram ter removido todo o apoio client_id a partir de 01 de junho de 2016
Malcolm Box

14

Em vez de usar a API, pode-se examinar a página do usuário do Instagram para obter o ID. Exemplo de código em 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"];

Obviamente, esse código precisa ser adaptado se o Instagram alterar o formato da página.


4
Parece ser uma má idéia para não usar a API
472.084

2
Como a resposta de Thinh Vu menciona, você pode adicionar ?__a=1para obter apenas o JSON no window._sharedDataobjeto, para que você possa fazer algo parecido curl https://www.instagram.com/username/?__a=1|jq -r .user.id.
Nisetama 9/08/16

7

Atualmente, não existe uma API direta do Instagram para obter o ID do usuário. Você precisa chamar a API GET / users / search e, em seguida, iterar os resultados e verificar se o usernamevalor do campo é igual ao seu nome de usuário ou não, então você pega o id.


6

Eu escrevi essa ferramenta para recuperar IDs do Instagram por nome de usuário: Pesquisa de ID de usuário do Instagram .

Ele utiliza a biblioteca python-instagram para acessar a API e inclui um link para o código-fonte (escrito no Django), que ilustra várias implementações da API do Instagram.

Atualização : Adicionado código-fonte para a porta no Ruby on Rails .


4
A ferramenta para recuperar IDs do Instagram por link de nome de usuário não está funcionando. Atualize-o.
Nishant Nawarkhede

@JaydeepJadav nem mesmo um "por favor"? O código fonte está no GitHub - você é bem-vindo para abrir uma solicitação de recebimento.
Zeantsoi 25/05

5

Eu tentei todas as soluções acima mencionadas e nenhuma funciona. Eu acho que o Instagram acelerou suas mudanças. No entanto, tentei o método do console do navegador e brinquei um pouco e encontrei este comando que me deu o ID do usuário.

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

Você acabou de visitar a página de um perfil e inserir este comando no console. Você pode precisar atualizar a página para que isso funcione. (Eu tive que postar isso como resposta, devido à minha baixa reputação)


5

Solução de trabalho sem token de acesso em 14 de outubro de 2014:

Procure o nome de usuário:

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

Exemplo:

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

Esta é uma consulta de pesquisa. Encontre a entrada correspondente exata na resposta e obtenha o ID do usuário a partir da entrada.


resposta curta e melhor, mas se o nome de usuário não for encontrado, ele exibirá os resultados relacionados.
sanjeet bisht 13/01/19

4

Você precisa usar Instagrams APIpara converter seu arquivo usernameem id.

Se bem me lembro, você usa users/searchpara encontrar o nome de usuário e obter o ID de lá


Você pode me dizer o método que faz isso?
Muhammad Reda

Faz o que? a busca é alcançado pela solicitação de API users/search, então você obtém o ide usá-lo em tudo o que você gostaria
mlishn

4
Infelizmente; isso é defeituoso :( Descobrimos que, se você estiver atualizando este URL, poderá obter aleatoriamente outros usuários cujo nome de usuário comece com o nome que procurou. Por exemplo, se você estiver pesquisando por "fred1", mas também houver um "fred123 ", você obterá resultados aleatórios! Reportado ao instagram; aguardando uma resposta :(
Danny Tuppeny

substitua o nome de usuário pelo nome de usuário real no link abaixo api.instagram.com/v1/users/…
Chhatrapati Sharma

3

para obter seu ID, faça uma solicitação autenticada para o users/self/feedendpoint da API do Instagram . a resposta conterá, entre outros dados, o nome de usuário e o ID do usuário.




2

Isso pode ser feito através do acesso à API do apigee.com no Instagram, aqui no site do desenvolvedor do Instagram. Após o login, clique na chamada da API "/ users / search". A partir daí, você pode pesquisar qualquer nome de usuário e recuperar seu 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"
}]}


Se você já possui um código de acesso, também pode ser feito assim: https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN


3
Infelizmente; usar users / search isso é falho :( Descobrimos que, se você estiver atualizando esse URL, poderá obter aleatoriamente outros usuários cujo nome de usuário comece com o nome de usuário que você procurou. Por exemplo, se você estiver pesquisando "fred1", mas há também um "fred123", você obterá resultados aleatórios! Reportado ao instagram; aguardando uma resposta :(
Danny Tuppeny

2
Não é uma falha - na verdade, é uma funcionalidade. É uma API de pesquisa , o que significa que funciona como a caixa de pesquisa no aplicativo instagram. A maneira correta de recuperar uma identificação de usuário para um nome de usuário é consultar esse ponto de extremidade de pesquisa e
John Dorian

1
Upvoted ambos, mas como desenvolvedores da API será que podemos concordar em criar um ponto de extremidade de pesquisa de usuário para evitar isso, oferecendo apenas uma pesquisa é realmente irritante
sricks


2

Embora não seja listado na página API doc mais, eu encontrei um fio que menciona que você pode usar selfno lugar de user-idpara o users/{user-id}ponto final e ele vai retornar informações do usuário autenticado no momento.

Portanto, users/selfé o mesmo que uma chamada explícita para users/{some-user-id}e contém o ID do usuário como parte da carga útil. Depois de autenticado, basta fazer uma chamada users/selfe o resultado incluirá o ID do usuário atualmente autenticado, assim:

{
    "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

Se você estiver usando a autenticação implícita, deverá ter o problema de não conseguir encontrar o user_id

Eu encontrei uma maneira, por exemplo:

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

você faria um single separado por. obtenies para acessar token e o primeiro elemento


2

Eu acho que o melhor, mais simples e seguro método é abrir o seu perfil do instagram em um navegador, visualizar o código-fonte e procurar a variável do usuário (ctrl + f "user": {" ) no código javascript principal. O número de identificação na variável do usuário deve seja seu id.

Este é o código como ficou no momento em que escrevemos esta resposta (ela pode e provavelmente será alterada no futuro):

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

2

Aqui está como você pode recuperar seu ID de usuário de um nome de usuário:

$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

Você pode fazer isso usando a API do Instagram (pontos de extremidade do usuário: / users / search)

Como fazer em 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
Infelizmente; usar users / search isso é falho :( Descobrimos que, se você estiver atualizando esse URL, poderá obter aleatoriamente outros usuários cujo nome de usuário comece com o nome de usuário que você procurou. Por exemplo, se você estiver pesquisando "fred1", mas há também um "fred123", você obterá resultados aleatórios! Reportado ao instagram; aguardando uma resposta :(
Danny Tuppeny

2

Aqui está um site realmente fácil que funciona bem para mim:

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

Ou você pode fazer o seguinte substituindo 'nome de usuário' pelo seu nome de usuário do Instagram

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

Ou você pode fazer login na sua conta do Instagram, usar as ferramentas de desenvolvimento do Google e ver os cookies que foram armazenados. 'ds_user_id' é seu ID de usuário

insira a descrição da imagem aqui


Embora esse link possa responder à pergunta, é melhor incluir aqui as partes essenciais da resposta e fornecer o link para referência. As respostas somente para links podem se tornar inválidas se a página vinculada for alterada. - Do comentário
Bugs

@ Bug Adicionei uma resposta mais detalhada. Estou apenas tentando contribuir com a comunidade stackoverflow.
BenEgan1991 27/06

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

Observe as aspas.

Isso nem sempre retorna um resultado válido, mas com mais freqüência do que o não citado:

https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN] 

retorna o usuário "auto" (id: 311176867)

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

retorna o usuário "super_selfie" (id: 1422944651)


1

Solução de trabalho ~ 2018

Descobri que, desde que você tenha um token de acesso, você pode executar a seguinte solicitação no seu navegador:

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

De fato, o token de acesso contém o ID do usuário (o primeiro segmento do token):

<user-id>.1677aaa.aaa042540a2345d29d11110545e2499

Você pode obter um token de acesso usando esta ferramenta fornecida pela Pixel Union .


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.