Importante: Ya no es posible obtener las actualizaciones de estado de la forma en que se describe en este post. Para más información ver la sección de Authorization en: http://developers.facebook.com/docs/reference/api/
Hace algunos días me encargaron la tarea de obtener las actualizaciones de estado de una página en Facebook y mostrarlas en una página.
El requerimiento además especificaba que la solución no debería de contemplar ningún compontente del lado del servidor, es decir, la solución debería de escribirse utilizando Javascript.
Mi primer pensamiento fué que tal cosa no sería posible, principalmente por cuestiones de configuración de privacidad en Facebook, pero luego de pasar un rato en la sección de Developers de Facebook, me encontré con la Graph API de Facebook.
Ésta API te permite acceder a todos los objetos en Facebook utilizando el ID del objeto y obteniendo como respuesta los datos en formato JSON.
Mi objetivo era obtener las actualizaciones de estado (wall updates) de una página, así es que después de darle una ojeada a la documentación, pude escribir algo en Javascript/jQuery que me permitió obtener que lo que necesitaba:
var FacebookPageId = 'cocacola';
var Limit = 5;
var Offset = 0;
$(document).ready(function() {
$.getJSON('https://graph.facebook.com/' + FacebookPageId + '/feed?limit=' + Limit + '&offset=' + Offset + '&callback=?', function(json) {
for(var i in json.data) {
$('body').append($('
').html('Created Time: ' + json.data[i].created_time));
$('body').append($('
').html('Id: ' + json.data[i].id));
$('body').append($('
').html('Message: ' + json.data[i].message));
$('body').append($('
').html('Type: ' + json.data[i].type));
if (json.data[i].type == 'photo')
$('body').append($('
').attr('src', json.data[i].picture));
$('body').append($('
').html(' '));
}
});
});
console.log(json.data[i]);
No funciona!!