A API do perfil do usuário permite usar um ID no escopo da Página (PSID) para obter informações do perfil a fim de personalizar a experiência de interação das pessoas com sua empresa.
Para obter as informações do perfil de um usuário, é necessário ter acesso avançado ao recurso Acesso ao Perfil do Usuário de Ativo de Negócios. Além disso, alguns campos exigem permissões adicionais para acesso.
Em alguns casos, o PSID não pode ser usado para obter as informações do perfil de uma pessoa, embora seja válido. Por exemplo, os PSIDs associados a Páginas de Jogos Instantâneos não são acessíveis por meio da API do perfil do usuário.
Veja os eventos que autorizam o seu bot do Messenger a acessar as informações do perfil de uma pessoa:
askPermission()
do SDK de extensões do Messenger no webView para solicitar a permissão user_profile
.Alguns pontos de entrada permitem que os apps iniciem a conversa sem receber autorização para acessar o perfil público da pessoa. Nesses casos, eles receberão a permissão para acessar o perfil depois que a pessoa responder à mensagem inicial. Uma pessoa pode iniciar uma conversa com o app sem autorizar a permissão de perfil nas seguintes situações:
No momento, a API do perfil do usuário não é compatível com o acesso a informações do perfil de contas criadas no Messenger usando um número de telefone.
Nesse caso, a API retornará um código de erro 2018218
junto com a mensagem "Nenhum perfil disponível para este usuário".
Os apps aprovados na análise para os recursos e as permissões exigidos podem obter os campos a seguir de usuários que tornaram essas informações públicas e aderiram à Página.
Nome do campo | Descrição | Permissão |
---|---|---|
| O PSID do usuário | N/D |
| O nome e o sobrenome do usuário | N/D |
| nome | N/D |
| sobrenome | N/D |
| Foto do perfil | N/D |
| Localização do usuário no Facebook |
|
| Fuso horário, número relativo ao GMT |
|
| Gênero |
|
Para usar a API do perfil do usuário, envie uma solicitação GET
com os campos do perfil da pessoa:
curl -X GET "https://graph.facebook.com/<PSID>?fields=first_name,last_name,profile_pic&access_token=<PAGE_ACCESS_TOKEN>"
Se o app conseguir acessar o perfil da pessoa, a API retornará uma string JSON com os campos solicitados.
{
"first_name": "Peter",
"last_name": "Chang",
"profile_pic": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/p200x200/13055603_10105219398495383_8237637584159975445_n.jpg?oh=1d241d4b6d4dac50eaf9bb73288ea192&oe=57AF5C03&__gda__=1470213755_ab17c8c8e3a0a447fed3f272fa2179ce",
"locale": "en_US",
"timezone": -7,
"gender": "male",
"last_ad_referral": {
"source": "ADS",
"type": "OPEN_THREAD",
"ad_id": "6045246247433"
}
}
Se o app não tiver acesso, um objeto vazio será retornado.