Icono del sitio Programando a medianoche

Como obtener el parámetro signed_request de la API de Facebook desde PHP

Facebook nos ofrece la posibilidad de recuperar cierta información básica del usuario y de la página en la que se encuentra nuestra aplicación (en caso de estar dentro de un tab) a partir del parámetro signed_request sin necesidad de haber aceptado ningún permiso.

Con este parámetro, entre otras cosas, podemos chequear si el usuario es fan de la fan page en la que se encuentra nuestra aplicacion, si es administrador y obtener el id de la fan page.
Para obtener estos datos, lo primero que tenemos que hacer es descargar e incluir a nuestro proyecto el PHP SDK de Facebook para poder conectar nuestra aplicación con Facebook.

Utilizando el sdk de PHP

Agregamos el código de inicialización del PHP SDK en nuestra pagina :

require_once("facebook.php");

$config = array(
'appId' => 'TU_APP_ID',
'secret' => 'TU_APP_SECRET',
'cookie' => true    );

$facebook = new Facebook($config);

Ya inicializado estamos listos para obtener el parámetro signed_request de la siguiente manera:


$signed_request = $facebook->getSignedRequest();

//datos de la pagina
$like_status = $signed_request["page"]["liked"];
$admin_status = $signed_request["page"]["admin"];
$page_id = $signed_request["page"]["id"];

//datos del usuario
$user_id = $signed_request["user_id"];
$user_country = $signed_request["user"]["country"];
$user_locate = $signed_request["user"]["locate"];

Asi podemos recuperar algunos de los datos en formato String, tambien podemos imprimir el objeto completo y buscar los datos que necesitemos haciendo:

echo json_encode($signed_request);

Espero que la explicación les sea útil.

Suerte!

Salir de la versión móvil