Podemos obtener fácilmente datos del muro de facebook con PHP gracias al "graph api". Lo único que tenemos que hacer es hacer una llamada al API y procesar los datos que nos devuelve en formato JSON. PHP nos ofrece herramientas para hacer esto de la forma más sencilla posible
Vamos a ver un ejemplo de como obtener los datos del muro de Imaginanet. Para ello debemos saber el identificador de la página (o del usuario en caso de que el muro que nos interese sea el de una persona y no una página). Ese identificador lo obtenemos, por ejemplo de la url de la página. Si accedemos a la página de facebook de Imaginanet, la url que tenemos es la siguiente: http://www.facebook.com/pages/Imaginanet/293803966478. El número que aparece al final es el identificador que queremos.
$id_usuario = "293803966478"; $respuesta = file_get_contents("https://graph.facebook.com/" . $id_usuario . "/feed");
En la variable "$respuesta" tenemos los datos que queremos en formato JSON, para transformarlos en un array asociativo que nos permita manejarlo de forma sencilla solo tenemos que hacer lo siguiente:
$datos = json_decode($respuesta,true);
Ahora en la variable "$datos" tenemos un array asociativo con los datos del muro.
Si por ejemplo quisieramos sacar las últimas 4 fotos que haya en las publicaciones del muro, haríamos lo siguiente:
$facebook = array(); $i = 0; foreach ($datos["data"] as $value) { if (trim($value["picture"]) != "") { $facebook[$i]["src"] = trim($value["picture"]); $facebook[$i]["titulo"] = trim($value["name"]); $facebook[$i]["texto"] = trim($value["description"]); $i++; } if ($i>4) break; } $html = ""; foreach ($facebook as $key => $value) { $html .= ''; } echo $html;'.$value["titulo"].'
<img src="' . $value["src"] . '" alt="' . $value["titulo"] . '" />'.$value["texto"].'
Hay que tener en cuenta que esto sólo funcionaría para muros públicos, de otra forma tendríamos que utilizar algún método de autenticación. Podemos utilizar alguna de las clases PHP que nos provee facebook, para trabajar con esta API.
Comentarios