API 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:
- Télécharger l’API Facebook
- Installer l’API Facebook
- 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
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
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
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
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
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
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
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.



(8 votes, moyenne: 3,88 max : 5)
avril 14th, 2009 at 17 h 08 min
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 !
avril 14th, 2009 at 17 h 35 min
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
avril 22nd, 2009 at 14 h 40 min
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 ^^
avril 22nd, 2009 at 15 h 52 min
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).
avril 25th, 2009 at 16 h 40 min
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
avril 28th, 2009 at 8 h 23 min
Mais l’adresse choisi peu être différente de facebook, puis mon application concerne un développement que je choisi ??
mai 6th, 2009 at 13 h 38 min
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
mai 6th, 2009 at 14 h 46 min
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.
mai 16th, 2009 at 11 h 27 min
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'].”";
}
mai 19th, 2009 at 10 h 25 min
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);
juin 11th, 2009 at 17 h 25 min
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!!
juin 12th, 2009 at 9 h 45 min
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é
juin 29th, 2009 at 15 h 54 min
Je ne cesse de tomber sur cette erreur:
returned HTTP code 200 and no data.
juillet 2nd, 2009 at 20 h 21 min
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.
juillet 3rd, 2009 at 22 h 06 min
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
Merci
juillet 10th, 2009 at 17 h 03 min
Meme probleme
juillet 21st, 2009 at 15 h 54 min
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
juillet 30th, 2009 at 14 h 32 min
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
août 4th, 2009 at 13 h 13 min
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
août 4th, 2009 at 13 h 20 min
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
août 4th, 2009 at 17 h 12 min
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
août 25th, 2009 at 20 h 59 min
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
septembre 18th, 2009 at 17 h 43 min
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
septembre 24th, 2009 at 1 h 16 min
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
octobre 30th, 2009 at 12 h 32 min
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
novembre 11th, 2009 at 16 h 52 min
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 !
décembre 7th, 2009 at 14 h 39 min
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