API facebook

API facebook

sommaire :

  1. Installation de l'API facebook
  2. Configuration de Facebook
  3. Notre première application facebook
 

Comment développer une application Facebook ?
C’est pas compliqué il faut juste utiliser son API.


Note importante : ce tutoriel est développé avec du php5

Si vous voulez utilisez le PHP4, vous aurez une belle erreur du type :

Warning: main(simplexml44-0_4_4/class/IsterXmlSimpleXMLImpl.php) [function.main]: failed to open stream: No such file or directory in facebookapi_php4_restlib.php

Comme l’erreur l’indique : php ne retrouve pas la librairie IsterXmlSimpleXMLImpl.php, on va donc l’installer.

Pour télécharger la librairie c’est ici.
Après il suffit de décompresser le fichier et le mettre dans la racine du projet (la où il y a index.php)

eh là miracle ça marche :) !

merci à Didi pour cette solution.


Dans ce tutoriel vous verrez plusieurs fois le mot gadget, en fait c’est juste l’appellation qu’utilise Facebook
pour nommer les applications que développe les utilisateurs.

Installation et configuration de l’API facebook

Voici les étapes que l’on va passer pour mettre en place l’API facebook:

  1. Télécharger l’API Facebook
  2. Installer l’API Facebook
  3. Configurer notre compte Facebook

Tout d’abord nous allons préparer le terrain.
Pour ceci, nous allons créer notre dossier Facebook dans notre dossier www.
C’est là où nous allons développer notre première application Facebook.


Ensuite, nous allons télécharger la librairie facebook sur ce lien.

Une fois notre fichier décompressé, nous allons récupérer le dossier php.
C’est grâce à ce dossier que l’on va pouvoir se connecter à l’API face book.
Puis, on va le mettre dans la racine de notre dossier Facebook et le renommer “lib-facebook”.

arborescence-api-facebook

arborescence-api-facebook

Tout d’abord vous devez vous rendre sur ce lien.
Et autoriser l’accès au logiciel développé.

A partir de là, il faut cliquer sur le bouton “Set Up New Application”.

Nous allons remplir le formulaire “informations indispensables”.
Il faut donner un nom à votre application. Il faut juste d’un peu d’imagination :)
La vous devez arriver dans la page d’administration de votre application où sera indiquer votre clé API et un code secret. Il faut bien les conserver, parce que c’est grâce à ces identifiants que l’on va pourvoir se connecter à l’api facebook.

application facebook

application facebook

configuration de Facebook

C’est une étape très importante puisque c’est grâce à elle que l’on va pouvoir connecter notre application sur Facebook.

facebook informations générales

facebook informations générales

On va passer en revu les options essentiels de Facebook :

  • Langue : pour plus de simplicité, vous pouvez définir la langue en Français.
  • URL de rappel : il faut mettre l’adresse où est hébergée votre application.
  • Description : à ne pas négliger, puisque c’est cette partie qui donnera envie aux utilisateurs d’ajouter votre gadget
  • Icône : c’est la petite icône que l’on voit un peu partout dans facebook (notification, invitation, raccourci…).
  • Logo : représentation de votre application.
  • Développeurs : ça c’est vous.
facebook cavenas

facebook cavenas

Dans l’onglet Canevas :

  • URL de la page Canevas : c’est l’url de votre application Facebook. Attention vous ne pouvez pas utiliser une url déjà existante.
facebook paramètres avancés

facebook paramètres avancés

Dans l’onglet Avancé :

  • Mode bac à sable : à activer uniquement pendant le développement de l’application. Ceci nous sera très utile.

Une fois validé vous devez normalement arriver sur une page récapitulative.

facebook statistique

facebook statistique

Ces statistiques sont utiles pour connaître le taux de fréquentation de notre gadget.

Le code

Bon maintenant, on va pouvoir enfin attaquer les choses sérieuses.
Il faut créer un fichier index.php à la racine de votre serveur, (pour que Facebook lance directement votre fichier)

Voici le code, les explications sont dans les commentaires :)

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

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

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

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

// on affiche l'utilisateur en cours
echo "<p>Hello, <fb:name uid='$sUser_id' useyou='false' />!</p>";

//on récupére et affiche les identifiants des 25 amis de l'utilisateurs
echo "<p>Friends:";
$aFriends = $oFacebook->api_client->friends_get();
$aFriends = array_slice($aFriends, 0, 25);
foreach ($aFriends as $sFriend) {
  echo "<br>$sFriend";
}
echo "</p>";

Vous n’avez plus qu’à aller sur votre gadget , (c’est l’URL de la page Canevas) et vous verrez votre première application Facebook :D

Maintenant que vous avez les bases, on va pouvoir utiliser le FBML (le html de facebook) dans ce tutoriel.

Si vous préférez, vous pouvez aussi attaqué directement dans la base de données de facebook avec ce tutoriel.

Note de l'article




1 Star2 Stars3 Stars4 Stars5 Stars (8 votes, moyenne: 3,88 max : 5)
Loading ... Loading ...

  1. Taymiri Says:

    Bonjour, J’ai un petit problème en fesant exactement comme dans le tutorial, j’obtiens cette petite erreur! : (J’utilise free.fr comme hébergeur … si c’est à cause d’eux)

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /mnt/103/sda/1/5/taymiri/facebook/muah/lib-facebook/facebook.php on line 38

    C’est le fichier source de facebook :/ :

    35 include_once ‘jsonwrapper/jsonwrapper.php’;
    36
    37 class FacebookRestClient {
    38 public $secret; <= C’est cette ligne qui bug :/
    39 public $session_key;
    40 public $api_key;

    merci de votre aide !

  2. Taymiri Says:

    J’ai trouvé ;)
    Il fallait créé un fichier .haccess ou l’on met “php 1″ dans ce fichier et le placé à la racine…
    Donc j’espère que j’en aiderais ;)

  3. John² Says:

    J’ai le même soucis que Taymiri mais je ne comprends pas ce qu’il faut rajouter au fichier htaccess, est ce que quelqu’un peut m’expliquer?
    Merci beaucoup ^^

  4. roul Says:

    Salut John,

    Quand j’ai fait le tuto, je n’ai pas passé par free.
    Si Taymiri ne passe pas par là, je vais essayer voir ce problème récurant.
    (Et apporter ce plus dans l’article).

  5. Lwii Says:

    Il s’agit en fait d’un problème avec PHP 5. Il faut vérifier (avec un phpinfo() par exemple)que la version 5 de PHP est bien installé côté serveur.
    Sinon merci pour le tuto qui m’a été très utile ! Pourquoi ne pas aller plus loin à présent ;-)

  6. rushy Says:

    Mais l’adresse choisi peu être différente de facebook, puis mon application concerne un développement que je choisi ??

  7. Didi Says:

    Moi j’ai essayé sur différent hébergeur et j’ai toujours le même soucis, la page s’affiche bien mais en header jai les erreurs suivantes :

    Warning: main(simplexml44-0_4_4/class/IsterXmlSimpleXMLImpl.php) [function.main]: failed to open stream: No such file or directory in facebookapi_php4_restlib.php on line 35

    Warning: main() [function.include]: Failed opening ’simplexml44-0_4_4/class/IsterXmlSimpleXMLImpl.php’ for inclusion (include_path=’.:/include/’) in facebookapi_php4_restlib.php on line 35

    Donc cela indique qu’il manque des fichiers mais ou les récupérer ?
    Je suis en PHP4 donc j’ai utiliser d’autre fichier trouver sur le net …
    Tu aurais une solution stp ? Peux tu me contacter par mail stp pour qu’on en discute ?
    merci d’avance ;)

  8. roul Says:

    Salut tous le monde,

    merci pour vos remarques

    Lwii, merci pour ton intérêt sur l’api facebook, je vais d’ailleurs faire un article sur le
    développement complète d’une application facebook. :)

    Rushy, j’ai pas bien compris ta question tu parle de quelle url ?
    url de rappel ou de cavenas ?

    Didi, l’api facebook ne fonctionne uniquement avec le php5, j’ai fait ma petite recherche et je n’ai pas trouvé de librairie pour le php4. A moins qu’un lecteur ai trouvé, je pense que t’auras malheureusement pas le choix de passer par le php5.

    edit : merci pour ta réponse Didi, on peut effectivement développer avec l’api facebook avec php4. Il faut utiliser la librairie simpleXML. Je fais une mise à jour de l’article, pour vous expliquez :)
    encore merci à lui.

  9. Hamouda ALIAS Says:

    merci pour ce tuto malgrer que j’arrive toujour pas a faire fonctionner le script. pour la version oui il ya ce lien http://developers.facebook.com/clientlibs/facebook-platform.tar.gz

    pour moi j’ai la version php5 mais ce script fonctionne pas :(

    $friends = $facebook->api_client->friends_get();
    $users = $facebook->api_client->users_getInfo($friends, array(’uid’,'name’));
    echo “user=”.$users;
    foreach ($users as $user) {
    echo”".$user['name'].”";
    }

  10. roul Says:

    Salut Hamouda ALIAS,

    Es-ce que t’as une erreur qui s’affiche ?

    Vérifie bien t’as mis les bonne clés pour la connexion.
    $oFacebook = new Facebook($sAppapikey, $sAppsecret);

  11. rom Says:

    Bonjour à tous, j’utilise la dernière version de l’api et j’ai les erreurs suivantes quand je test

    Fatal error: Uncaught exception ‘FacebookRestClientException’ with message ‘Incorrect signature’ in /[...]facebookapi_php5_restlib.php:2977 Stack trace: #0 /[...]facebookapi_php5_restlib.php(993): FacebookRestClient->call_method(’facebook.friend…’, Array) #1 /[...]index.php(20): FacebookRestClient->friends_get() #2 {main} thrown in /[...]facebookapi_php5_restlib.php on line 2977

    Je vois pas d’où vient le problème car j’ai bien remplit mes clé etc.
    Si vous avez une idée merci bien!!

  12. roul Says:

    Salut rom,

    regarde ta version de php.
    a tout les coups tu est en php4, il faut que tu soit en php5 ou que
    tu fasse appel à la librairie IsterXmlSimpleXMLImpl.php,
    regardes en haut c’est expliqué :)

  13. Deniz Says:

    Je ne cesse de tomber sur cette erreur:
    returned HTTP code 200 and no data.

  14. roul Says:

    Salut Deniz,
    t’as bien vérifié tes clés et la configuration d’url de rappel et de cavena ?

    la plupart du temps cela vient de ça.

  15. Alecsy Says:

    Bonjour,

    J’ai fait exactement ce qu’il y a dans le tuto et j’obtient ça :

    Erreurs d’exécution:
    URLExceptionEmpty URLs not allowed here
    fb:iframe: Empty URLs not allowed here

    :( quelqu’un aurait une idée ? :(

    Merci

  16. ramses Says:

    Meme probleme

  17. New Says:

    Bonjour,

    Tout d’abord merci pour ce tuto, c’est le plus clair que j’ai trouvé.
    Par contre, j’ai suivi, il me semble le tuto à la lettre, mais j’ai toujours la même erreur quand je veux voir le résultat :


    Erreurs pendant le chargement de la page de l’application
    Erreurs d’analyse :

    FBML Error (line 5): illegal tag “body” under “fb:canvas”

    Il y a encore quelques problèmes, que Facebook et les développeurs de Mystar.tv : qui a sa place ? essaient de résoudre. Nous apprécions votre patience pendant que nous essayons de réparer ces erreurs. Votre problème a été pris en compte - si celui-ci persiste, veuillez revenir dans quelques jours. Merci !”

    J’ai enlevé les balises html de mon fichier index.php mais cela ne change rien.

    Une idée de ce qui ne va pas ? Je commence à désespérer :(

  18. dede Says:

    Bonjour a tous,
    merci pour ce tuto super bien expliqué.

    Mais j’ai tout de même une question.

    J’aimerais savoir ce qui se passe si on ne rempli pas le champs canvas. La seule différence qu’il y aura c’est que l’application ne sera pas disponible sur http://apps.facebook.com/monAppli

    mais le contenu sera toujours disponible sur la page du site hébergeur.

    Je pose cette question car je voudrais seulement récupérer le nom et le prénom et la date de naissance des utilisateur qui veulent s’inscrire sur mon site grâce a facebook connect.

    Pour le nom et le prénom j’ai pas de problème, j’utilise mais pour la date de naissance, il faut que je passe par l’API et que je me connecte avec du FQL.

    En suivant le tuto, je n’arrive pas a récupérer les informations sur l’utilisateur, car je n’ai pas spécifier de Canvas Callback URL.

    Ceux qui ont suivi le tuto et qui ont reussi, pouvez vous me dire si en supprimant les donnees du champs canvas, vous arrivez toujours a recuperer les infos sur votre site hébergeur

    Merci d’avance a ceux qui pourront m’aider =)
    bonne journée a tous

  19. nico Says:

    Salut ..

    .. et d’abord merci pour ce site super synthétique qui permet d’y voir bien plus clair parmi le fouilli de docs/faq/aide fournis par FB. Sauf erreur de ma part, je n’ai trouvé aucune méthode dans l’API qui permette de récupérer (si remplis) les n° de tel (mobile) et l’email d’un contact. J’utilise la méthode users_getInfo pour le nom/prénom/date de naissance etc .. mais nulle trace contacts mobile ou email :-( ? Existe t’il une autre méthode ? Si l’on passe par du FQL ?
    Au passage, l’un de vous a t’il eu la bonne idée de faire un .sql du modèle DB de FB ?

    Merci d’avance pour toute aide éventuelle.

    nico

  20. nico Says:

    Si ca peut vous aider j’ai mis la main sur le schéma finalement :)
    http://www.flickr.com/photos/ikhnaton2/533233247/sizes/o/
    A toute
    nico

  21. roul Says:

    Salut nico,

    merci pour ton com, je crois qu’il est impossible de récupérer les contacts mobile ou email par l’api.
    Pour la simple raison que ces données ont une valeur commerciale (récupérer ces données serait une vrai mine d’or pour
    toutes entreprises utilisant l’api).

    roul

  22. fgallnii Says:

    Bonsoir à tous,

    Pour ma part, tout fonctionne très bien, un grand merci pour ce tuto qui m’a permis de me mettre le pied à l’étrier rapidement.
    Néanmoins, j’ai une question :
    - Est-ce possible de connecter automatiquement un utilisateur en “hard codant” ses identifiants dans le code ?

    Mon but, c’est de mettre à disposition des visiteurs de mon site les photos de mon profil facebook (le tout dynamiquement - pas envie de gérer plusieurs galeries…). J’ai cherché du coté de Facebook Connect mais rien trouvé d’interressant…

    Certains, ont-ils une piste ???

    Merci par avance pour votre retour :)
    Tchatchaoo

    Francois

  23. Taymiri Says:

    Plop’
    Pour John’ : tu vas sur notepad, tu écris “php 1″ sans guillemet, et tu enregistre sous “.htaccess” (un fichier ayant juste l’extension, sans titre)
    Tu le places sur ton FTP à la racine tu ftp, au tout premier niveau si tu préfères. Et ça marche ;) .

    Pour ma par, j’ai un gros problème d’accent ! les “ç, é, è etc…” sont remplacé par un caractère avec point d’interrogation blanc dans un losange noir. =/ Quelqu’un peut m’aider ? =S

  24. YannCo Says:

    Un soucis aussi avec les accents venant d’une base de données; j’ai tenté plusieurs options, utf … et toujours un point interrogation à la place des caractères de type é, à, ç ….

    Je suis donc preneur de solutions ;) merci

  25. Shizuarika Says:

    Bonjour j’aurai une question

    j’ai une application en flash et php, qui est par exemple héberger sur un serveur.
    Je met mon application sur Facebook grâce a L’API.
    J’aurais voulu savoir ou doit ton intégrer le code pour par exemple récupérer des informations d’un utilisateur de mon application pour par exemple qd il a fini de jouer, pour q’il puisse inviter des amis à jouer.
    Merci bcp

  26. Allen Blocci Says:

    Si vous êtes hégergé chez OVH, il suffit de modifier l’extension de votre fichier index.php en index.php5, et haut miracle, cela fonctionne. OVH active le php4 par défaut.
    Quelques infos glanées ici :

    http://david-manson.com/tuto-creation-d%E2%80%99applications-facebook/

    Merci pour tous ces tutos qui nous sont bien utiles !

  27. roul Says:

    salut

    fgallnii, je ne crois pas ce que c’est possible, parceque pour utiliser une application il est nécessaire d’être déjà loguer sur facebook. on peux toujours
    hardcoder l’utilisateur en fonction de son identifant(uid), mais il faut qu’il soit connecté sur facebook et qu’il ai accepté l’application :)

    Shizuarika, tout dépend de ton code :D. l’api facebook te propose des services
    c’est à toi de voir ou tu veux utiliser ces services. ex tu fais un jeux flash, tu peux très bien donner la possibilité à ton utilisateur de publier une annonce ou feed lorsqu’il a finit un niveau. tu peux aussi faire une demande d’amis au début du jeu ou à la fin ou au milieu … c’est toi qui choisi :)

  28. Seb Says:

    Bonjour,

    tout d’abord merci pour ce tuto, très pratique…

    Malheureusement, j’ai une petite erreur en voulant afficher l’application, il me met :

    “Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’”

    Je me demandais si l’un d’entre vous aurait une idée quant à l’origine de cette erreur ?

    Merci d’avance,
    Séb.

  29. delinoo Says:

    bon voila qu’est ce que j ai et le code de l erreur,j ai lu le tuto ainsi que tout les interactions;mais ya personne qui a u le mm que le mien:

    Hello, !

    Friends:
    Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /www/sites/1/ifrance.com/a/d/adelinooo/site/lib-facebook/facebookapi_php5_restlib.php on line 3663

    Warning: fopen(http://api.facebook.com/restserver.php?method=facebook.friends.get&session_key=2.WxmFUgxvxshfXD8a3fe_0w__.3600.1268096400-1577943464&api_key=2a08cb5507941ef40c7b7377fff8c0da&v=1.0) [function.fopen]: failed to open stream: no suitable wrapper could be found in /www/sites/1/ifrance.com/a/d/adelinooo/site/lib-facebook/facebookapi_php5_restlib.php on line 3663

    Fatal error: Call to undefined function simplexml_load_string() in /www/sites/1/ifrance.com/a/d/adelinooo/site/lib-facebook/facebookapi_php5_restlib.php on line 3477

Donner votre avis :