Antes de que se me olvide:
1. Usamos una aplicación de Facebook (o creamos una), debemos entonces añadir en los productos, Webhooks.
2. Nos suscribimos a Page, hay que hacer un URL con https activado donde recibiremos la información, puede ser un php simple como esto:
<?php/* webhook para Facebook @ToRo 2017 https://tar.mx */
$log = __DIR__."/log.log";
$me = "frase de desafío";
if(isset($_GET['hub_mode']) && isset($_GET['hub_verify_token']) && $_GET['hub_verify_token'] == $me) {
die($_GET['hub_challenge']);
}
ob_start();
//
$content = file_get_contents("php://input");
$content = json_decode($content);
print_r($content);
//
$data = ob_get_contents();
ob_end_clean();
file_put_contents($log,$data,FILE_APPEND);
Eso es suficiente, ya que le responde la frase a Facebook y te dejará continuar. Luego te mostrará la lista de objetos sobre los cuales te puedes suscribir, en mi caso elegí feed y mention.
3. Entras a login de la aplicación (previamente debe tener también el producto de iniciar sesión con ...), puedes ver un ejemplo de como implementar login con facebook en este proyecto - Foro PHP en el directorio login/ - es necesario el permiso manage_pages o bien si es tu aplicación debes solicitarlo aún sin aprobación.
4. Teniendo el ID de la página y el token de acceso, nos suscribimos al webhook de la aplicación:
<?phprequire_once __DIR__ . '/vendor/autoload.php'; // change path as needed
$configfb = [
'app_id' => 'APP_ID',
'app_secret' => 'APP_SECRET',
'default_graph_version' => 'v2.11',
];
$otoken='TOKEN_PAGE'; //token al identificarte y obtener manage_pages
$meme = 'ID_PAGINA'; //igual, el id que obtuviste de la página al identificarte
// nos suscribimos:
$response = $fb->post( '/'.$meme.'/subscribed_apps',[], $otoken);
print_r($response)
5. Con este último paso, nos estamos suscribiendo como página al webhook de la aplicación, si todo salió bien se debe estar llenando el archivo log.log del script ejemplo.
https://tar.mx/tar.svg