Integração do Login do Facebook com a API de relatórios do Audience Network 2.0

O Login do Facebook é uma nova forma de permitir o acesso aos dados da API de Relatórios do Audience Network. Esta abordagem substitui o antigo sistema de copiar e colar o token do usuário do sistema exibido na interface do Gerenciador de Monetização. Dessa forma, o acesso aos dados é fornecido com mais segurança, já que considera o risco de vazamento do token do Gerenciador de Monetização para fora da empresa.

Este documento fornece orientações a integrações diretas da API de relatórios aos Parceiros de Métricas para Aplicativos e Mediação, bem como a outros parceiros que trabalham com o acesso aos dados da API em nome de publishers.

Estou usando terceiros para obter dados da API de relatórios

Se você estiver usando o parceiro existente (Métricas para Aplicativos ou Mediação), não será necessário fazer codificações adicionais. Verifique se o parceiro integrou o fluxo do Login do Facebook. Para isso, clique na opção "Entrar com o Facebook" e selecione as propriedades a que pretende dar acesso usando o token gerado.

Se você selecionar TODAS as propriedades, o token concederá acesso a todas as propriedades da empresa, desde que o usuário que criou o token tenha acesso a elas no Gerenciador de Negócios.

Permissões

Caso você precise usar a API de Relatórios diretamente, crie primeiro um app do Facebook e obtenha as permissões necessárias. O app precisa da permissão read_audience_network_insights para acessar os dados da API de Relatórios do Audience Network. Para obter essa permissão para o app, a empresa deve estar integrada ao Audience Network.

  • Selecione a empresa recém-criada no campo de conta empresarial.

Agora, seu app está integrado com o Audience Network e pode usar a permissão read_audience_network_insights. Se read_audience_network_insights não for exibida, verifique se o app está vinculado a uma empresa que tenha acesso à sua conta empresarial do Gerenciador de Monetização.

Caso você já tenha recebido a permissão read_insights permission no Login do Facebook, ela ainda funcionará. Porém, sugerimos atualizar para read_audience_network_insights.

A abordagem usada para acessar a API de Relatórios varia conforme o tipo de integração que você possui. Siga as instruções que se aplicam ao seu caso:

Integração direta da API sem interface do usuário

Se você tiver uma integração personalizada (direta) da API de Relatórios sem interface do usuário/front-end e usá-la exclusivamente para consultar os dados da sua empresa, siga as instruções abaixo para obter acesso à API.

Criar um token de usuário por meio do Explorador da Graph API

  1. Se já estiver usando a API de Marketing no seu app, pule esta etapa. Caso contrário, siga as instruções sobre como obter a permissão read_audience_network_insights.
  2. Acesse o Explorador da Graph API.
  3. Selecione seu app.
  4. Selecione a permissão "read_audience_network_insights". Para encontrá-la, acesse Permissions > Events Group Pages e clique em Generate Access Token.
    1. Agora, você pode acessar os dados da API de Relatórios do Audience Network por um curto período com esse token (em vez do token do Gerenciador de Monetização).
    2. Aviso legal: esse token expirará em 2 horas. Transforme-o no token de acesso de longa duração seguindo as instruções abaixo.

Transformar em token de acesso de longa duração

  1. Acesse o depurador de token de acesso.
  2. Insira o seu token e pressione Depurar.
  3. Role a tela até a parte inferior da tabela que contém todas as informações do token e clique no botão Estender token de acesso.
  4. Copie o token gerado.

Agora, você pode acessar os dados da API de Relatórios do Audience Network com esse token.

Integração direta da API com interface do usuário

O guia a seguir inclui orientações para publishers e parceiros que têm uma interface do usuário na qual o botão Login do Facebook pode ser exibido. Ele é útil para publishers que querem acessar os próprios dados, bem como para parceiros que desejam ver dados de monetização de outros publishers com a respectiva permissão.

Veja também o vídeo de demonstração do guia a seguir, incluindo a etapa de permissões acima:

Ocorreu um erro
Estamos tendo problemas ao reproduzir este vídeo.
  • No portal para desenvolvedores, selecione o seu app de empresa recém-criado nas etapas anteriores.
  • Adicione um novo produto "Login do Facebook" ao app.
  • Selecione a opção "Web" e siga as etapas de integração.
  • Insira a URL do site em que você mostrará a sua experiência de Login do Facebook. É necessária compatibilidade com o protocolo HTTPS.
  • Ao final das etapas de integração, você receberá o código de exemplo para integrar o Login do Facebook ao seu site. É possível copiar o código. No entanto, use a permissão recém-acessada "read_audience_network_insights" em vez das permissões sugeridas "public_profile,email". Com a permissão atualizada, o código do botão ficará parecido com este:
<fb:login-button 
  scope="read_audience_network_insights"
  onlogin="checkLoginState();">
</fb:login-button>
  • Verifique se o SDK para Java Script está habilitado nas configurações do produto Login do Facebook no seu app.
  • Agora, os usuários podem passar pelo fluxo de Login do Facebook na sua página para gerar o token de acesso.
  • O token de acesso será retornado como parte do argumento passado para o método JavaScript statusChangeCallback das etapas anteriores.
  • Por padrão, o token expira em até 2 horas.
  • Os desenvolvedores podem solicitar a extensão do token para tokens de longa duração de acesso sem interação com o usuário.
    • Os tokens de longa duração são atualizados uma vez por dia, quando uma solicitação da API de Relatórios é feita aos servidores do Facebook. Se não houver solicitações, o token expirará após cerca de 60 dias, e será preciso gerar um novo token.
  • Lembre-se de que os dados disponíveis por meio desse token dependem basicamente de quem está passando pelo fluxo do Login do Facebook e do que essa pessoa concorda em compartilhar. Isso significa que, se o funcionário da empresa estiver passando por esse fluxo, o token de acesso gerado terá as mesmas permissões que ele.

Solução de problemas

Mensagem de erroSignificadoAção ou correção

Leitura de insights de uma Página, empresa, app, domínio ou grupo de origem de eventos não pertencente ao usuário ou app que fez a consulta

Para o token de Login do Facebook, isso pode significar que o app emissor do token não tem permissões suficientes (read_audience_network_insights) ou que o usuário não tem permissão para visualizar determinadas propriedades. Isso pode acontecer porque o usuário que gerou o token não recebeu acesso a todas as propriedades consultadas ou ao Gerenciador de Negócios.

O administrador da empresa precisa fornecer acesso a todas as propriedades para o usuário que deseja gerar o token ou gerou o token.

Dados ausentes ou vazios

Em geral, isso significa que todos os dados (ou alguns deles) foram filtrados usando a nossa agregação de privacidade. Essa validação também pode ser feita usando os dados do Gerenciador de Monetização.

Verifique se há uma matriz omitted_results. Isso demonstra que os dados estão sendo agregados. Portanto, tente realizar uma solicitação mais abrangente. Para saber mais, leia a seção sobre agregação.

A permissão read_audience_network_insights não está visível para o token

O app criado para gerar o token não é do tipo Empresa e foi vinculado ao Gerenciador de Monetização do Audience Network.

Para gerar o token como uma empresa, você precisa criar um app desse tipo. Tente criar um novo app e siga as instruções da seção Permissões. Acesse developers.facebook.com/apps e selecione o app para o qual não é possível ver a permissão read_audience_network_insights. Depois, selecione "Audience Network" e clique no botão "Configurar".

Error validating access token: Session has expired on ...

O token expirou.

Verifique se o token foi convertido em token de longa duração. Siga as instruções da seção "Transformar em token de acesso de longa duração". Esse tipo de token é atualizado uma vez ao dia, quando uma solicitação da API de Relatórios é feita nos servidores do Facebook. Se não houver solicitações, o token expirará após cerca de 60 dias, e será preciso gerar um novo.

Dois apps têm o mesmo nome

Verifique se um deles tem as permissões read_audience_network_insights.

Use o app que tiver as permissões read_audience_network_insights corretas.

(#200) O acesso à versão 2.0 da API de Relatórios mudou. Agora é preciso implementar o Login do Facebook para o app acessar a API

Você não está usando as credenciais para usar o novo acesso à API.

Crie um app do tipo Empresa do zero com o objetivo de gerar tokens.