Le FQL avec l’api facebook

Le FQL avec l’api facebook

sommaire :

  1. Le FQL qu'es-ce ce que c'est ?
  2. Notre première requête FQL
  3. La base de données Facebook
 

Api facebook offre généreusement une bonne partie de sa base données via le FQL.
Nous allons voir dans ce tutoriel comment exploiter au mieux ces données.

Dans ce tutoriel, il est nécessaire d’avoir des bases en SQL.

Le FQL qu’es-ce ce que c’est ?

On pourrait dire que le FQL c’est le SQL de facebook. Mais en fait, bien qu’il ressemble au sql il n’en est rien, parce que le FQL
est interprété et traité (par l’API facebook).

Oui, pour nous, ça change rien ?

Contrairement au SQL, on ne peut pas modifier les données (UPDATE,DELETE,UPDATE).
De plus il est évident que facebook nous ne donne pas la possibilité de récupérer toute sa base de données.(il est pas fou facebook:)) Il faut forcément un identifiant (d’une personne, un groupe …) pour accéder aux informations.

Ne vous inquiéter pas si le FQL ne vous paraît pas clair, avec quelques exemples vous comprendrez tout de suite ce que je veux dire :).

Notre première requête FQL

Déjà on va se connecter à notre API.

// on charge la librairie facebook
require_once 'lib-facebook/facebook.php';

// on définit la clé et le code secret
$sAppapikey = CLE;
$sAppsecret = CODE SECRET;

// on se connecte à facebook par la création d'un objet Facebook
$oFacebook = new Facebook($sAppapikey, $sAppsecret);

// on demande à l'utilisateur de se loguer
$oFacebook->require_login();

//on récupère l'id de l'utilisateur
$sUser_id = $oFacebook->user;

On va pas faire compliquer pour notre première requête FQL, on va juste récupérer les informations principales de
l’utilisateur en cours. C’est à dire son nom, prénom, date de naissance,sexe,photo.

//notre requête FQL
$sQuery = 'SELECT first_name,last_name,birthday,sex,pic_big FROM user WHERE uid=' . $sUser_id;  

// information de notre utilisateur
$aUserInformation = $oFacebook->api_client->fql_query($sQuery);

Comme vous le voyez nous avons interrogé la table user pour récupérer les informations de l’utilisateur en cours.

Par défaut le résultat retourné est sous forme de tableau.

fql

fql

Maintenant c’est pas compliqué pour mettre tout ça en forme

// affichage des données
echo '<h1>Mes informations</h1><br/>';
echo 'nom : '.$aUserInformation[0]['last_name'].'<br/>';
echo 'prenom : '.$aUserInformation[0]['first_name'].'<br/>';
echo 'date de naissance : '.$aUserInformation[0]['birthday'].'<br/>';
echo 'sexe : '.$aUserInformation[0]['sex'].'<br/>';
echo 'photo :<br/> <img src=\''.$aUserInformation[0]['pic_big'].'\'/>';

Voila ce que ça donne :

fql

fql

Voila nous avons fait notre première requête. On va pouvoir savoir tout sur nos utilisateurs :p.

Stocker ces informations sur une base de données:

Il est toujours intéressant de stocker les informations sur une base de données. Il est bien important d’optimiser
votre base en fonction de votre application (et non de la base facebook).
Par exemple pour le sexe plutôt que stocker male ou female, il est plus intéressant de stocker 2 id différents qui feront référence à une table.
Si vous stockez les informations de facebook pour être en toute légalité, n’oubliez pas de faire un tour à la cnil pour faire une déclaration de fichier.

La base de données Facebook

Vous pouvez avoir toute la structure de la base de données facebook sur la documentation.Hélas elle n’est qu’en anglais :(

Actuellement il y a 23 tables que l’ont peut interroger. Cela fait une quantité astronomique de données que l’on peut récupérer.
Il est essentiel de bien comprendre l’utilité de chaque table et surtout de savoir faire le tri entre toutes ses données.

note sur la documentation : en FQL il est nécessaire d’utiliser un critère (clause WHERE)
sur un élément marqué par une étoile “*”.

fql

fql

Dans cette exemple, pour récupérer les information d’un utilisateur on a besoin forcément de son uid ou de son name.

Bon si vous n’êtes pas motivé pour éplucher toute la doc, très prochainement un tutoriel sur les données clés de facebook va voir le jour. :)

En attentant vous pouvez toujours poster un commentaire pour une remarque ou une interrogation.

Note de l'article




1 Star2 Stars3 Stars4 Stars5 Stars (10 votes, moyenne: 5,00 max : 5)
Loading ... Loading ...

  1. webtuto Says:

    bah merci grave , j’ai trop aimer tes tutoriel sur API de facebook
    mais le sexe de l’utilisateur ne s’affiche pas pour moi
    bizare

  2. Steff Says:

    Le tuto est bien foutu, mais je n’ai pas réussi à l’installer ! Il me manque surement des fichiers à installer…
    Est ce que vous pouvez m’aider ?
    Cordialement
    Steff

  3. Flag Says:

    Vraiment du super boulot…Merci beaucoup pour tout ces articles sur l’API Facebook…

  4. Shizuarika Says:

    Quelqu’un aurait le MCD de Facebook, juste comme ca, sinon les articles sont très bien.
    Merci

  5. Vince Says:

    Génial, ton tuto !
    J’ai juste une petite question : Les infos ne s’affichent pas dans un beau cadre facebook. Est-ce normal ? Sinon, d’où ça vient ?

  6. fbnewb Says:

    Merci pour ces tutos.
    Les developpeurs sont-ils consideré comme des amis ? Autrement dit, un developpeur peut avoir accès à toutes les infos de la base sans etre ami de l’utilisateur de l’application ?
    C’est fou comme concept ! Je pensais que FB uniquement avait toutes les infos mais en fait n’importe qui peut avoir n’importe quelle info du moment que l’utilisateur autorise l’application on dirait. Ca me fait froid dans le dos. Mais puisque je developpe un peu, je vais en profiter. C’est le hack à portée de tous ce truc.

  7. Greg Says:

    Bonjour,
    J’obtient une erreur “Fatal error: Cannot use string offset as an array in /home…”
    Il refuse de récupérer $aUserInformation[0]['first_name']
    Les exemples de facebook ne marchent pas non plus.
    Pourriez vous m’aider ?

Donner votre avis :