🚀 Facebook SDK - Implementação Real
⚠️ IMPORTANTE: Esta implementação requer um App ID real do Facebook.
Substitua "SEU_APP_ID_AQUI" pelo seu App ID verdadeiro.
📋 Pré-requisitos
- App criado no Facebook Developers
- Domínio configurado nas configurações do app
- Permissões solicitadas no App Review (se necessário)
🔧 Configuração
🔐 Autenticação
📊 Dados da Página
📝 Códigos para Implementação
HTML Completo
JavaScript Apenas
Permissões
HTML Completo com SDK
<!DOCTYPE html> <html> <head> <title>Facebook SDK</title> </head> <body> <div id="fb-root"></div> <script async defer crossorigin="anonymous" src="https://connect.facebook.net/pt_BR/sdk.js"></script> <script> window.fbAsyncInit = function() { FB.init({ appId: 'SEU_APP_ID_AQUI', cookie: true, xfbml: true, version: 'v18.0' }); FB.AppEvents.logPageView(); // Verificar status do login FB.getLoginStatus(function(response) { statusChangeCallback(response); }); }; function statusChangeCallback(response) { if (response.status === 'connected') { console.log('Logado e conectado'); testAPI(); } else { console.log('Não logado'); } } function checkLoginState() { FB.getLoginStatus(function(response) { statusChangeCallback(response); }); } function testAPI() { FB.api('/me', function(response) { console.log('Olá ' + response.name + ', obrigado por usar nossa aplicação.'); }); } </script> <button onclick="FB.login(checkLoginState, {scope: 'pages_read_engagement,pages_show_list'});"> Login no Facebook </button> </body> </html>
Apenas JavaScript
// Inicialização window.fbAsyncInit = function() { FB.init({ appId: 'SEU_APP_ID_AQUI', cookie: true, xfbml: true, version: 'v18.0' }); }; // Login com permissões function loginWithPermissions() { FB.login(function(response) { if (response.authResponse) { console.log('Login bem-sucedido'); getUserPages(); } else { console.log('Login cancelado'); } }, { scope: 'pages_read_engagement,pages_show_list,pages_manage_posts' }); } // Obter páginas do usuário function getUserPages() { FB.api('/me/accounts', function(response) { if (response && !response.error) { console.log('Minhas páginas:', response.data); response.data.forEach(page => { console.log(`Página: ${page.name} (ID: ${page.id})`); }); } }); } // Obter dados específicos da página function getPageData(pageId) { FB.api(`/${pageId}`, { fields: 'name,about,category,fan_count,posts{message,created_time,likes.summary(true)}' }, function(response) { if (response && !response.error) { console.log('Dados da página:', response); } else { console.error('Erro ao obter dados:', response.error); } }); }
Permissões Necessárias
// Permissões básicas (sempre funcionam) 'pages_read_engagement' // Ler engajamento das páginas 'pages_show_list' // Listar páginas que você administra // Permissões avançadas (podem precisar de aprovação) 'pages_manage_posts' // Gerenciar posts 'pages_manage_metadata' // Gerenciar metadados 'pages_messaging' // Mensagens da página // Para páginas públicas de terceiros (App Review obrigatório) - Page Public Content Access (recurso) - Page Public Metadata Access (recurso) // Exemplo de uso FB.login(function(response) { if (response.authResponse) { // Verificar permissões concedidas FB.api('/me/permissions', function(permResponse) { permResponse.data.forEach(perm => { console.log(`${perm.permission}: ${perm.status}`); }); }); } }, { scope: 'pages_read_engagement,pages_show_list,pages_manage_posts' });
🔍 Diagnóstico dos Seus Erros
Erro 1: Página não encontrada com identificador 'livenews488'
Solução: Use o ID numérico da página, não o username
Solução: Use o ID numérico da página, não o username
Erro 2: Object with ID '100064122323058' does not exist
Solução: Verifique se o ID está correto e se você tem permissões
Solução: Verifique se o ID está correto e se você tem permissões
Dica: Use
FB.api('/livenews488')
para converter username em ID