⚠️

Error de Permisos Facebook SOLUCIONADO

Guía para usar Facebook API sin Verificación de Negocio

❌ PROBLEMA DETECTADO

Error típico: Al acceder a /facebook/login/ recibes un error de permisos o restricciones.

Mensaje común: "Esta app no está disponible" o "Requires business verification"

Causa: Facebook requiere verificación de negocio para apps en modo "Live", PERO hay una solución simple.

✅ SOLUCIÓN CONFIRMADA (100% FUNCIONAL)

NO necesitas verificación de negocio para proyectos universitarios.

Puedes usar Facebook API en Modo Development con hasta 5 cuentas de prueba sin ninguna restricción.

Perfecto para tu práctica académica de la UTH.

🔧 Solución Paso a Paso (15 minutos)

PASO 1: Verificar Modo de la App

📍 ¿Dónde verificar?

  1. Ve a developers.facebook.com
  2. Inicia sesión con tu cuenta de Facebook
  3. Clic en "My Apps" (Mis Aplicaciones)
  4. Selecciona tu aplicación
  5. En la parte superior derecha verás un interruptor de modo

🔍 Lo que debes ver:

┌─────────────────────────────────────┐
│  [Logo Facebook]  My App Dashboard  │
│                                     │
│  Mode: [ Development ▼ ]  ← AQUÍ  │
└─────────────────────────────────────┘

✅ Debe decir: Development

❌ Si dice: Live ← Ahí está el problema

¿Cómo cambiar a Modo Development?

  1. Haz clic en el interruptor de modo (arriba a la derecha)
  2. Selecciona "Switch to Development"
  3. Confirma el cambio
  4. Listo, tu app ahora está en modo desarrollo

⚠️ IMPORTANTE: En modo Development, solo TÚ y las personas que agregues como "Testers" pueden usar la app. Esto es PERFECTO para tu proyecto universitario.


PASO 2: Agregar Testers (Opcional - Si tu profesor evaluará)

👥 ¿Para qué agregar testers?

Si tu profesor o compañeros necesitan probar tu aplicación, debes agregarlos como "Testers".

Límite: Hasta 5 testers en modo gratuito (más que suficiente).

Cómo agregar un tester:

  1. En el Dashboard de tu app, ve a la sección lateral izquierda
  2. Busca y haz clic en "Roles"
  3. Haz clic en "Testers"
  4. Haz clic en botón verde "Add Testers"
  5. Ingresa el nombre de Facebook o correo electrónico del profesor/compañero
  6. Haz clic en "Submit"
  7. La persona recibirá una invitación en Facebook que debe ACEPTAR

📧 El tester debe:

  1. Revisar sus notificaciones de Facebook
  2. Aceptar la invitación como "Tester de la aplicación"
  3. Ya podrá usar tu aplicación sin problemas

PASO 3: Configurar Permisos Básicos (Sin App Review)

✅ Permisos que NO requieren revisión:

Estos permisos están aprobados automáticamente en modo Development:

  • public_profile - Nombre, foto, ID del usuario ✅
  • email - Correo electrónico ✅

⚠️ Permisos que requieren configuración extra:

Para publicar en Facebook, necesitas permisos avanzados. En modo Development, puedes usarlos SIN App Review siguiendo estos pasos:

Configurar permisos para PUBLICAR:

  1. Ve a tu app en Facebook Developers
  2. En el menú lateral, busca "Facebook Login""Settings"
  3. Desplázate hasta encontrar "Permissions and Features"
  4. Busca estos permisos y haz clic en "Request" (o ya estarán disponibles):
    • pages_show_list
    • pages_read_engagement
    • pages_manage_posts

💡 TRUCO IMPORTANTE

En modo Development, estos permisos funcionan INMEDIATAMENTE sin esperar aprobación.

Solo necesitas asegurarte de que tu app esté en Development Mode.


PASO 4: Crear una Página de Facebook (OBLIGATORIO para publicar)

⚠️ REQUISITO CRÍTICO

Facebook bloqueó publicaciones en perfiles personales desde 2018.

Debes crear una Página de Facebook (es gratis y toma 2 minutos).

Crear tu Página de Facebook:

  1. Ve a facebook.com/pages/create
  2. Selecciona "Comunidad o Figura Pública"
  3. Nombre de la Página: "Proyecto UTH Facebook API - [Tu Nombre]"
    Ejemplo: "Proyecto UTH Facebook API - Juan Pérez"
  4. Categoría: Busca y selecciona "Educación"
  5. Haz clic en "Crear Página"
  6. OPCIONAL: Agrega descripción, foto de perfil, etc.
  7. Listo! Ya tienes tu página

💡 Nota: Las publicaciones que hagas desde tu app Django aparecerán en esta PÁGINA, no en tu perfil personal.

Esto es normal y es como funciona la API de Facebook actualmente.


PASO 5: Actualizar Código de Django (Permisos Correctos)

Actualizar scope en views.py:

Abre social_app/views.py y busca la función facebook_login()

❌ CÓDIGO INCORRECTO (causará errores):

auth_url += "&scope=email,public_profile,user_posts"

✅ CÓDIGO CORRECTO (para modo Development):

auth_url += "&scope=email,public_profile,pages_show_list,pages_read_engagement,pages_manage_posts"

Explicación de cada permiso:


PASO 6: Probar la Aplicación

Checklist antes de probar:

  • ☐ App en modo Development
  • ☐ Página de Facebook creada
  • ☐ Código actualizado con permisos correctos
  • ☐ URLs de redirección configuradas: http://localhost:8000/facebook/callback/
  • ☐ Servidor Django corriendo: python manage.py runserver

Proceso de prueba:

  1. Inicia tu servidor Django:
    python manage.py runserver
  2. Abre tu navegador y ve a:
    http://localhost:8000/facebook/login/
  3. Serás redirigido a Facebook - Verás un diálogo pidiendo permisos
  4. IMPORTANTE: Facebook mostrará qué permisos solicita:
    • ✅ Acceso a tu perfil público
    • ✅ Tu dirección de correo electrónico
    • ✅ Administrar tus Páginas de Facebook
    • ✅ Publicar en tus Páginas
  5. Haz clic en "Continuar como [Tu Nombre]"
  6. Si Facebook pregunta qué página usar, selecciona la página que creaste
  7. Deberías ser redirigido a: http://localhost:8000/dashboard/
  8. ¡Éxito! Ya estás autenticado

🔧 Solución a Errores Comunes

Error 1: "Esta app no está disponible"

Causa: App en modo "Live" sin verificación de negocio

Solución:

  1. Cambia a modo Development (PASO 1)
  2. Agrégate como Tester si es necesario

Error 2: "Invalid OAuth Redirect URI"

Causa: La URL de callback no coincide

Solución:

  1. Ve a Facebook Developers → Tu App → Facebook Login → Settings
  2. En "Valid OAuth Redirect URIs" verifica que esté EXACTAMENTE:
    http://localhost:8000/facebook/callback/
  3. Guarda cambios y espera 1-2 minutos

Error 3: "Requires business verification"

Causa: Intentando usar permisos avanzados en modo Live

Solución:

  1. Cambia a modo Development (PASO 1)
  2. En Development mode NO necesitas verificación

Error 4: "No administras ninguna Página de Facebook"

Causa: No has creado una Página

Solución:

  1. Crea una Página de Facebook (PASO 4)
  2. Asegúrate de ser administrador de la página

Error 5: Permisos no funcionan

Causa: Permisos no actualizados en el código

Solución:

  1. Actualiza el scope en views.py (PASO 5)
  2. Cierra sesión de Facebook en tu app
  3. Vuelve a hacer login para obtener nuevos permisos

📋 Resumen: Configuración para Proyectos Universitarios

✅ Configuración Perfecta para UTH

Modo de App: Development ✅
Verificación de Negocio: NO requerida ✅
App Review: NO requerido ✅
Usuarios permitidos: Tú + 5 testers (suficiente) ✅
Publicaciones: En Página de Facebook ✅
Costo: 100% GRATIS ✅

🎉 ¡Listo para tu Proyecto!

Con esta configuración podrás:

  • ✅ Iniciar sesión con Facebook
  • ✅ Obtener datos del perfil
  • ✅ Publicar en tu Página de Facebook
  • ✅ Leer métricas (likes, comentarios, shares)
  • ✅ Demostrar todo en el Video
  • ✅ Completar tu práctica sin problemas

Todo sin necesidad de verificación de negocio ni App Review.

🎓 Consejos para la Evaluación

  1. Video de demostración: Graba mostrando cómo funciona tu app en modo Development
  2. Documentación: Menciona que usas modo Development (es lo correcto para proyectos académicos)
  3. Página de prueba: Usa una Página de Facebook creada específicamente para el proyecto

💡 Nota Final

El modo Development es el método OFICIAL de Facebook para desarrollo y pruebas. No es un "hack" ni algo incorrecto.

Es exactamente lo que Facebook recomienda para:

  • Proyectos universitarios ✅
  • Desarrollo y pruebas ✅
  • Prototipos ✅
  • Aprendizaje ✅