Savoir si un utilisateur est fan de votre page Facebook

2011, May 19    

Depuis fin septembre 2014, ce n’est plus possible. Plus d’infos.

Voici un nouvel article Facebook. Sachez que je pense refondre mon site dans les mois à venir (oui je prends large maintenant ^^), et le diviser en :

  • billets (des articles assez long)
  • trucs et astuces (des billets plus cours donnant la solutions à des problèmes rencontrés), je pense peut-être permettre à des gens d’y ajouter des billets (avec modération of-course).

Je pense aussi refaire la home (se ne sera plus le blog) pour quelque chose de plus … « pro ». Bref, si ça change à un moment, ne soyez pas étonné :)

Bref, revenons en au sujet de mon billet. Je vais vous montrer ici les 2 façons de savoir si une personne est fan de votre page. La première est si l’application est intégrée à votre page (via un onglet), la seconde est via une application hors page. C’est parti !

fan facebook application

Savoir si une personne est fan de votre page, via votre onglet

Lorsque vous êtes sur une page fan, vous pouvez récupérer des données via la variable $_REQUEST[‘signed_request’]. Le problème est que ce n’est pas « human readable ». Du coup, voici comment faire pour pouvoir récupérer les données qui nous intéressent :

$signed_request  = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

Le contenu de $data est désormais expoitable. N’hésitez pas à faire un var_dump() pour voir ce que cela contient. Ce qui nous intéresse est le code suivant :

if ($data["page"]["liked"]) {
    /* L'utilisateur aime votre page */
} else {
    /* L'utilisateur n'aime pas votre page, désolé :( */
}

Voilà, le code est là, easy non ? Du coup, vous n’aurez aucun mal à faire une landing page avec un contenu réservé à vos précieux fans :)

Savoir si une personne est fan d’une page

Cette méthode vous permet de savoir depuis une application si l’utilisateur est fan d’une page. Pour cela, il vous suffit d’avoir l’id de la-dite page, ensuite le code n’est pas bien compliqué :

$is_fan = $facebook->api(
                         array(
                            'method'    =>  'pages.isFan',
                            'page_id'   =>  'ID DE VOTRE PAGE',
                            'uid'       =>  'UID DE L UTILISATEUR'
                          )
                        );

 

La variable $is_fan contient un boolean. Du coup, pas compliqué de faire le test qui va bien. Vraiment pas bien compliqué non ?

 

Pour connaitre ce genre de choses, je ne saurais que vous conseillez de fouiller la documentation Facebook ainsi que le forum des développeurs. Toutes les réponses (ou presque) s’y trouvent. Mais vu que je sais que c’est pas facile facile à trouver, je me permets de faire ce genre d’articles.

See you later ;)