Facebook Api : poster en php un message sur une page

Le but de ce tutoriel est de poster un message sur une page, sans que la personne qui exécute le script ne soit obligée d’avoir les accès à Facebook (exemple : tache cron, administrateur non connecté à Facebook).

Attention je parle bien de page à ne pas confondre avec un profil Facebook.

Facebook API poster un message sur une page

Je propose deux versions : une écrite et une en vidéo que vous trouverez à la fin de l’article

Déjà à la base, il faut un compte Facebook qui est gestionnaire de la page. en effet la solution qu’on aborde ici va être de récupérer une clef de sécurité qui existe entre un compte et une page. Une fois acquise, il suffit de la donner dans l’api au moment de l’envoi du message.

Création et configuration d’une application Facebook

Nous allons aller sur le site developers  où il faut être connecté afin de pouvoir créer une nouvelle application, en haut applications puis create a News App. Vous choisissez un nom et une catégorie puis validez.

Paramétré de l'application Facebook

Dans paramètre, on va renseigner App domains avec votre domaine, cliquer sur ajouter une plateforme, choisir site web puis renseigner site url avec l’url de votre site. On enregistre puis on relève Identifiant de l’application (une suite de numéro) et Clé secrète (cliquer sur afficher pour obtenir une suite de caractère)

Trouver l’acces token de votre page

Commençons par télécharger le skd sur le site de github qui héberge la source. Cliquer sur Download ZIP à gauche de la page, les trois fichiers qui nous intéresse se trouvent dans facebook-php-sdk/src/

Télécharger également les deux fichiers, l’un utilitaire et l’autre d’exemple.

Uploader les 5 fichiers, on va commencer par le fichier recupToken.php, qu’on va configurer

  • Ligne 3 : si vous n’avez pas mis les trois fichiers du sdk dans le même dossier que recupToken.php changer l’include
  • Ligne 5 : Entrer Identifiant de l’application dans mon exemple $app_id=‘102107775031’;
  • Ligne 6 : Entrer Clé secrète dans mon exemple
    $app_secret=‘b37fa062598568d996adae39db21fd5c’;

Explication

  • Ligne 7 : on lance l’api de facebook avec nos données en paramètre
  • Ligne 12 : on demande l’id de l’utilisateur connecté
  • Ligne 14 : si la valeur est égale à 0, on n’est pas connecté, on va donc faire la demande
  • Ligne 15 : on crée un lien, l’api donne l’url. Le paramètre scope définie les autorisations dont on a besoin
  • Ligne 18 : si on est connecté
  • Ligne 19 : on demande via l’api les infos du compte utilisateur
  • Ligne 21 : on affiche le résultat

Utilisation :

  • Lancer la page
  • Cliquer sur connect
  • Accepter les autorisations sur la page Facebook
  • Dans le résultat on cherche la bonne page puis on relève l’id et l’acces_token

Récupération de l'access_token

Une fois fini, supprimez ce fichier qui sera inutile sauf si vous changez de page ou changer de gestionnaire

Envoyer un message via l’api sur la page

On va maintenant configurer et expliquer la page d’exemple envoyer.php

  • Ligne 3 : si vous n’avez pas mis les trois fichiers du sdk dans le même dossier que votre script changer l’include
  • Ligne 4 : Entrer Identifiant de l’application dans mon exemple $app_id=‘102107775031’;
  • Ligne 5 : Entrer Clé secrète dans mon exemple
    $app_secret=‘b37fa062598568d996adae39db21fd5c’;
  • Ligne 10 : L’id de la page dans mon exemple $pageID=‘580802511973007’;
  • Ligne 11 : L’access_token dans mon exemple
    $token=‘CAAAAF8YZAADcBAMmrTFdkdwz[…]OTg3ZB0AnU60Jzvi3sbdNQ0iWx’;
  • Ligne 15 : Le message, le fameux. Vous pouvez d’ailleurs supprimer les autres paramètres (sauf acces_token) pour poster un message sans lien (dans mon exemple « premier message auto« )
  • Ligne 16 : Le titre du lien, dans mon exemple « Le prêt à surfer« , par défaut c’est le titre de la page qu’utilise Facebook.
  • Ligne 17 : La légende du lien, un petit message sous le titre, dans mon exemple « Légende sous le titre« 
  • Ligne 18 : Le lien, l’url de la page !
  • Ligne 19 : La description, dans mon exemple « description du lien » par défaut c’est la méta description
  • Ligne 20 : L’url de l’image, par obligatoire, dans mon exemple j’ai mi l’url du logo google !

Du coup toutes les lignes sont expliquées, sauf la 22 qui envoie le message !
Résultat sur la page

Plus d’informations sur les paramètres de feed dans la doc de l’API

Toute l’explication en vidéo

7 Comments

  • Silverword dit :

    Hello Samuel, sympa ton script seulement j’ai constaté que le message posté via ton script sur la page n’est pas visible pour d’autres personnes connectés à Facebook. As tu de ton coté ce problème et y vois tu une solution ? Merci pour ta réponse

  • O2 dit :

    Bonjour,
    Après de multiples essais de divers scripts PHP, celui ci est le dernier sur lequel je suis arrivé.
    Et malgré plusieurs tentatives, rien n’y fait, je n’ai aucun résultat sur la page.
    Pourtant, tout est suivi à la lettre..
    Changement de SDK Facebook ? Mauvais token donné ? Tout a été vérifié.

    Je suis bien admin de ma page et l’app n’est pas en mode bac a sable.

  • sebastien dit :

    Bonjour,

    Merci pour ce tuto ultra clair 🙂
    Cependant j’ai beau l’avoir suivi à la lettre je bloque dès le départ, en effet quand je clic sur connect, j’ai ce message en retour :

    Erreur
    Application non configurée: Les développeurs de cette application ne l’ont pas correctement configurée pour se connecter à Facebook.

    Pourtant j’ai suivi la configuration, auriez vous un conseil à me donner svp ?

    Cordialement.

  • Yesss dit :

    Ca marche nickel, du 1er coup.
    Merci pour ce tuto.

  • yossef dit :

    bonjour,

    je telecharche le SDK facebook-php-sdk-v4-4.0-dev

    je n’est pas du tout les meme fichiers dans src!
    du coup je ne peux rien faire?
    ou je peux trouver un tuto avec cette version?

    ou bien ou je puex trouve le meme SDK que tu utilise?

    merci

  • yossef dit :

    bonjour,..

    j’ai resolu mon probleme (le lien vers le SDK est sur cette page meme)!

    j’ai le meme probleme que O2 le 18 janvier 2014 à 1 h 04 min.

    tout fonctionne, pas de message: mais rien n’a etait poster sur ma page…

  • aissa dit :

    il me renvoie ça comme erreur
    Fatal error: Uncaught GraphMethodException: Invalid appsecret_proof provided in the API argument thrown in /Users/aissaelouafi/Desktop/Project/DDR/api/src/base_facebook.php on line 1325

  • vpn dit :

    merci pour le tuto

  • Ben dit :

    Pour ceux qui sont en galere comme moi et qui recupère un array vide, faites un var_dump($facebook); die(); et vous pourrez recupérer l’access_token. 🙂

    Merci à l’auteur , super boulot !

    Bonne continuation

Commenter

XHTML: You can use these tags:' <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Copyright © 2017 Le pret a surfer All rights reserved.
Desk Mess Mirrored v1.4.4.1 theme from BuyNowShop.com.