FB Graph API: Difusión en la página de FB pie de otro sitio web
-
25-09-2019 - |
Pregunta
Estoy creando un CMS para un sitio web, y desea agregar funcionalidad a publicar algo (por ejemplo: noticias). A ese sitio web de FB página [no a un perfil de usuario]
He leído la documentación del FB, y podría descubrir que tengo que tener una aplicación de FB, que debe tener acceso a esa página. Entonces voy a ser capaz de autenticar de mi sitio web como de aplicaciones y enviar el enlace de la página.
He creado Muestra de la página, y un vacío Aplicación (sin código de trabajo). Luego he añadido a la página [en el perfil de aplicación página hay un botón "Añadir a mi página"]. La aplicación nunca solicitó los permisos, y, de hecho, no sé cómo puedo "fuerza" mi aplicación para solicitar permisos de página ...
Ahora, desde mi servidor de autenticación como estoy Aplicación:
$postArr = Array(
'grant_type'=>'client_credentials',
'scope'=>'publish_stream',
'client_id'=>$appId,
'client_secret'=>$appSecret
);
$access_token = CURL_post('https://graph.facebook.com/oauth/access_token',$postArr,true);
Me aparece un testigo de acceso, y tratar de publicar en el muro de la página:
$postArr = Array(
'access_token'=>$access,
'message'=>"Message!",
'link'=>'http://egern.net/',
'name'=>"TITLE",
'caption'=>"TITLE2!");
$r = CURL_post("https://graph.facebook.com/MYPAGEID/feed",$postArr,true);
consigo siguiente error: (# 200) El usuario no ha autorizado la aplicación para realizar esta acción
Ahora no puedo entender: ¿cómo debería la página autorizar la aplicación
Gracias.
Solución
Para poder publicar en su página utilizando la API gráfica hay un par de pasos para hacer esto:
- El administrador de la página necesita para instalar su aplicación con
manage_pages
permiso, referencia . Ypublish_stream
para el paso 3 - Ahora la consulta de la metodología de cuentas
->api('/me/accounts?access_token=XXX')
con el señal_acceso que sólo obtuvo va a recuperar todas sus páginas (cuentas) con sus correspondientes señal_acceso - utilizar la página señal_acceso a posterior su "noticias" a su página
->api('/page_id/feed', 'post', $postArr)
Casi mismas instrucciones están disponibles aquí .