Como pegar o nome do usuário no Instagram via API


Reputação 6
Crachá

Olá pessoal, espero que todos estejam bem, vim aqui hoje para dar uma dica em relação ao canal do INSTAGRAM! :smartblip:


Você ai que já mexeu neste canal com certeza se perguntou: “Como é que eu pego o nome do usuário automaticamente?” pois não faz nenhum sentido você perguntar o nome da pessoa dentro do Instagram hahaha :sorry:


Bom, existe uma forma de fazer isso e não é difícil, vem comigo que eu te mostro nesse tutorial.



Requisito:



  • Ter uma conta do instagram conectada com o Blip funcionando 100%

    image



Informações essenciais para pegar o nome do usuário no Instagram



  • User ID

  • Instagram API Key


O User ID você consegue através da variável {{contact.identity}} ou pela variável {{contact.serialized}} sendo que esta última será necessário aplicar um script para pegar a informação que está na chave “identity”:


image


Depois que você tiver este identificador é necessário pegar o ID do usuário, ou seja, toda a informação que está antes do @, veja abaixo:


image


Caso prefira, pode usar o script que utilizei, aqui estou utilizando os valores da variável {{contact.serialized}}:


function run() {

var myjson = '{{contact.serialized}}';
var obj = JSON.parse(myjson);
var identificador = obj.identity;
var idusuario = identificador.split('@')[0];

return idusuario;

}

O valor do script está sendo gravado em uma varável chamada: {{IdentifyInstagram}}.


O próximo passo é buscar a API Key do instagram, para isso você precisa ir nas configurações avançadas do seu chatbot, caso esteja conectado em algum router, você deve ir nas configurações avançadas do router.


Se você não sabe onde fica, basta ir nas configurações básicas do seu bot:


image


E no final da página acessar a opção de configurações avançadas:


image


:police:Muita atenção nesta parte, nós vamos somente pegar uma informação, não altere nada neste lugar combinado? :police:


Agora procure a chave com o nome de “PageAccessToken” e copiar o valor da chave:



Você pode armazenar este valor em uma variável de configuração dentro do seu bot, desta forma fica mais fácil você acessá-lo mais tarde, estou chamando esta nova variável de “tokenInsta”:


image


Tendo estas duas informações em mãos, agora podemos buscar o nome do usuário, para isso iremos utilizar uma API do facebook que permite coletarmos este tipo de informação.


Você vai precisar deste end-point:


https://graph.facebook.com/v3.2/{{IdentifyInstagram}}?access_token={{config.tokenInsta}}


Neste endpoint estamos passando os valores de identificação do usuário {{IdentifyInstagram}} e o token de acesso do instagram que guardamos na variável {{config.tokenInsta}}, lembrando que para acessar qualquer variável de configuração é necessário utilizar o prefixo “config.” antes do nome da variável.


Agora é só fazer uma requisição HTTPS nas ações do Blip e seguir este exemplo:



Obs. não é necessário incluir nenhum cabeçalho.


Após efetuar a requisição você receberá o seguinte retorno na variável {{body}}:


{

"name": "Nome do Usuário",

"profile_pic": "Link da foto do perfil",

"id": "Id do usuário"

}

Agora é só fazer um script para pegar o valor contido na chave “name”, siga o exemplo do script abaixo:


function run() {

var myjson = '{{body}}';
var obj = JSON.parse(myjson);
var fullname = obj.name;

return fullname;
}


Veja o resultado direto no instagram:


image


:police:UMA OBSERVAÇÃO IMPORTANTE :police:


O nome que a API captura é equivalente ao display name do instagram da pessoa, veja no exemplo:



Portanto, se a pessoa tiver o nome “Banana Nevada” ou qualquer outra coisa estranha, você estará consumindo esta informação hahaha 😂 🤣


Enfim, ficou um pouco extenso, mas espero te ajudado vocês.


Aqui está o link da documentação do facebook para quem tiver interesse:




Grande abraço a todos!!! :dogeparty: :pugvibe:


4 comentários

Reputação 7
Crachá +1

Sensacional!

Essa dica é boa demais hein.

Obrigado por compartilhar conosco mestre Topam.

:blipinlove:

Reputação 7

Olha só!


Amei! Obrigado pela dica, @Luiz_Topam

Reputação 7
Crachá +3

Ficou bem bacana e até testei, não seria legal levar isso pro helpcenter?

Reputação 7

Boa! Vou levar essa ideia para os responsáveis, @Rafael_Figueiredo 🚀

Comente