WEB-d Développement Web

PHP, SQL, HTML5, CSS3, Javascript, Mootools, Référencement, SEO, CMS, e-commerce, Apache, Linux, Ubuntu, ...

Utiliser le flux RSS d'une page Facebook

C'est relativement peu connu, mais chaque page Facebook dispose d'un flux RSS qui permet d'accéder aux statuts de la page, pour autant qu'ils soient publics.

L'adresse de ce flux est la suivante:

http://www.facebook.com/feeds/page.php?format=rss20&id=id_de_la_page

Pour trouver l'id de la page il faut par exemple cliquer sur "Edit page"

Facebook - Edit page

Ensuite il est possible d'utiliser PHP (avec file_get_contents() par exemple) pour récupérer les statuts de la page. Malheureusement Facebook risque de retourner une erreur du type "Votre navigateur n'est pas à jour". Il est donc nécessaire d'ajouter un header "User-Agent" supplémentaire:


// Id de la page, qu'on peut trouver en cliquant sur "Edit page" par exemple...
$id = 281222071945437;

// Options de la requête HTTP, pour ajouter un header "User-Agent"
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1\r\n"
  )
);

$context = stream_context_create($opts);

$xml = new SimpleXmlElement(
  file_get_contents(
    "http://www.facebook.com/feeds/page.php?format=rss20&id=$id",
    false,
    $context));

foreach ($xml->channel->item as $item) {
    echo $item->title . " : " . $item->link;
}
 

Articles similaires