Usar los Webhooks de Facebook con una página

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:

<?php 
   require_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.

Apps, Facebook API

por Jorge Martínez Mauricio :)

¿Algo que comentar?


Populares estos días

    Suscríbete por correo electrónico, recibirás los nuevos escritos antes que nadie y es gratis 😊

    ¿Ya conoces los foros de tar?


    tar.mx es un blog sobre tecnología y otras chunches