¿Estás desarrollando una plataforma que permite a los usuarios publicar directamente en sus redes sociales? En este post te explicamos cómo configurar correctamente una app de Meta para que puedas publicar en Instagram y Facebook a través de su API, basándonos en una experiencia real de integración en el CMS musescript.com.
Antes de empezar, asegúrate de tener:
-
Una cuenta de desarrollador en Meta for Developers.
-
Una App de Meta creada en el panel de developers.
-
Una página de Facebook creada y verificada.
-
Una cuenta de Instagram profesional o de empresa vinculada a esa página de Facebook.
-
Un CMS o aplicación web preparada para manejar OAuth 2.0 y hacer peticiones HTTP.
1. Crear la App en Meta
-
Accede a Meta Developers.
-
Crea una nueva App → Tipo: «Para empresa».
-
Configura el nombre, correo y finalidad.
-
En «Productos», añade Facebook Login y configura la URL de redirección OAuth (por ejemplo:
https://tuweb.com/oauth/callback/instagram
).
2. Permisos necesarios
Para poder publicar contenido en nombre de un usuario, necesitarás los siguientes permisos:
-
instagram_basic
-
instagram_content_publish
-
pages_show_list
-
pages_read_engagement
-
business_management
⚠️ Recuerda: muchos de estos permisos requieren acceso avanzado mediante revisión, pero funcionan en modo de desarrollo para las cuentas de administradores y testers.
3. Problemas comunes y soluciones
❌ Problema:
Los botones de activación de permisos no están habilitados.
✅ Solución:
Debes realizar una llamada correcta a la API usando el token obtenido con los permisos. Luego de eso, el botón se activa (puede tardar hasta 24h).
❌ Problema:
Error OAuthException
al hacer la petición access_token
.
✅ Solución:
La URL https://www.facebook.com/vXX.X/oauth/access_token
es incorrecta. Usa mejor:
❌ Problema:
Error: dialog
no existe al construir la URL.
✅ Solución:
La URL del dialog/oauth
no pertenece a graph.facebook.com
, sino a www.facebook.com
.
Tu método getAPIUrl()
debería distinguir esto:
if (count($params)) {
$urlEndpoint .= ‘?’ . http_build_query($params);
}
return $urlEndpoint;
}
4. Flujo de autenticación (OAuth)
-
Redirige al usuario a
https://www.facebook.com/v18.0/dialog/oauth?...
-
Tras aceptar, Meta devuelve un
code
. -
Intercambia ese
code
por un token con:
-
Usa ese token para realizar peticiones a la API de Facebook e Instagram.
5. Publicar en Instagram
A través del token y el ID de Instagram Business (que se obtiene de la página de Facebook con instagram_business_account
), puedes publicar:
Luego, publica el contenedor con:
Conclusión
Ha sido un proceso largo y con muchos puntos poco documentados por parte de Meta. Desde Screen Art hemos tenido que corregir el código del plugin oficial del cms para que todo funcione como es debido.
Este post servirá para que otros desarrolladores no tengan que pasar horas solucionando los mismos problemas.