Configurando o Facebook¶
O Vinyl não oferece suporte nativo à API Graph do Facebook, seja como autenticação ou provedor de dados. No entanto, como a API Graph do Facebook pode ser consumida como uma API REST, protegida usando o fluxo de credenciais do cliente OAuth, é possível usar o provedor de segurança HTTP genérico do Vinyl para recuperar dados do Facebook.
A documentação do Facebook para usar o fluxo de credenciais do cliente OAuth pode ser encontrada aqui:
https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens
As principais tarefas envolvidas incluem:
- Registre o Vinyl como um aplicativo do Facebook.
- Crie um provedor de segurança HTTP do Facebook
- Crie uma fonte de dados do Facebook.
Presume-se que sua organização já tenha uma conta no Facebook. Além disso, presume-se que a organização tenha se registrado como desenvolvedor de aplicativos do Facebook.
Registre o Vinyl Como um Aplicativo do Facebook¶
Comece fazendo login no painel do aplicativo do Facebook.
https://developers.facebook.com/apps/
- Clique no botão Adicionar um novo aplicativo.
-
Forneça as seguintes informações:
-
Nome de exibição: Um nome lógico para o ambiente ou aplicativo Vinyl.
Exemplo: Vinyl
-
Email de contato: Seu endereço email.
- Categoria: Negócios
-
-
Clique no botão Criar ID do aplicativo.
- Selecione Painel no menu.
- Clique no botão Mostrar abaixo de App Secret.
-
Anote as seguintes propriedades:
- App ID: Este será o valor do ClientId ao configurar o provedor de segurança HTTP no Vinyl.
- App Secret: Este será o valor do ClientSecret ao configurar o provedor de segurança HTTP no Vinyl.
Crie um Provedor de Segurança HTTP do Facebook¶
Para criar um provedor de segurança HTTP, comece entrando no Vinyl como administrador.
- Navegue até o IDE
- Selecione o botão Provedores de segurança
- No painel Autenticação de fonte de dados, clique no botão + Autenticação de fonte de dados
-
Forneça o seguinte:
- Nome: Facebook
- Tipo: HTTP
- Ativado: Verifique
- Tipo de autenticação: Credenciais do cliente
- Clique no botão Salvar
-
Defina as propriedades a seguir. No painel Propriedades, clique no botão + Propriedade → Selecione o Parâmetro → Forneça o Valor → Clique no ícone Salvar.
- Tipo de autenticação: Credenciais do cliente
- TokenEndpoint: https://graph.facebook.com/v2.8/oauth/access_token
- O endpoint do token deve conter o número da versão. A versão deve ser 2.0 ou superior. No momento em que este artigo foi escrito, 2.8 é a versão atual da API Graph do Facebook.
- ClientId: o {App ID} fornecido pelo Facebook
- ClientSecret: O {App Secret} fornecido pelo Facebook
Crie uma Fonte de Dados do Facebook¶
Para criar uma fonte de dados do Facebook, comece entrando no Vinyl como administrador.
- Navegue até o IDE
- Clique no botão Servidores de dados
- Clique em + Servidor
-
Forneça o seguinte:
- Nome do Servidor: Facebook
- Tipo: API REST
- Subtipo: REST
- URL: https://graph.facebook.com/
- Tipo de conteúdo da solicitação: JSON
- Tipo de conteúdo de resposta: JSON
-
Expanda Configurações de segurança, defina Provedor de segurança com o valor do Facebook configurado na etapa anterior
- Clique em Salvar
- Clique no ícone Tabelas em Configurações do servidor para configurar as informações dos Endpoints
- No painel Endpoints, clique no botão + Endpoint
-
Forneça o seguinte:
- Nome: Página
- Endpoint:
{{Página}}?fields=fan_count
-
Clique no ícone marca de seleção
- No painel Parâmetros de Endpoint, clique no botão + Parâmetro
-
Forneça o seguinte:
- Nome: Página
- Tipo de dados: String
- Valor do teste: zudysoftware
-
Clique no botão Salvar
-
No painel Endpoints, clique no botão Discover e clique em Discover novamente
Este processo de importação preencherá o painel SQL Results.
-
No painel Resultados SQL, localize a tabela Página e clique no ícone Resultados.
Supondo que tudo tenha sido configurado corretamente, você deverá ver a contagem de seguidores da conta zudysoftware no Facebook.
Solução de Problemas¶
Erro: "Caractere inesperado encontrado ao analisar o valor: a. Caminho '', linha 0, posição 0."
Isto indica que o corpo da resposta não foi serializado como JSON. Certifique-se de que o endpoint do token contenha um número de versão superior a 2.0.