Poster sur une page facebook en python

Les réseaux sont sociaux sont maintenant incontournables pour avoir des informations (toujours à vérifier) mais aussi pour en transmettre et attirer de nouveaux lecteurs. Depuis un système exécutant des script en python, voici comment poster.

Voici un petit article qui devrait intéressé bon nombre d’entre vous. Je suis en train de tester un peu les sites de niches, ceux-ci sont mis en ligne dans le but de gagner de l’argent (un futur article) mais il ne doivent pas prendre trop de temps. Pour donner du contenu à ce site, je génère des pages via un script python qui rempli une base de donnée.

Comme pour tout site, il faut du trafic, surtout si celui-ci sert à essayer de payer son hébergement (internet je parle). Le référencement naturel va faire son travail mais pour essayer de booster un peu la chose, les réseaux sociaux sont indispensables.

Je me suis basé sur le site nodotcom.org pour réaliser cet article. Après pas mal de recherche, c’est la seule source qui a fonctionné et elle est en anglais.

Création de la page facebook

Cela peut paraitre bête mais vous allez devoir commencer par créer votre page sur facebook.

Une fois créer, allez sur votre page et cliquez sur A propos, en bas de la page vous devriez trouver Identifiant de Page Facebook, notez le numéro, on le nommera id_page.

Création de l’application facebook

Maintenant passons à la création de l’application facebook, c’est cette application qui permettra de gérer les connexions, aucune crainte à avoir, il s’agit simplement de quelques manipulations sans codage.

Rendez-vous sur la page Facebook pour développeur.

Commencer par créer une nouvelle app, cliquer sur Ajouter une app et choisissez la plateforme www.

Choisissez de créer un nouvel id pour application (je traduis live, sur la page, ce sera marqué dans la langue de Shakespeare).

Rendez-vous sur la page du tableau de bord des application facebook.

Dans les paramètre généraux, assurez-vous d’avoir mis un email de contact (indispensable) puis allez sur examens des apps, et choisissez de rendre publique votre application.

Retournez sur le tableau de bord, une petite pastille verte doit apparaître à droite du nom de votre application, cela signifie qu’elle est en ligne.

Notez l’id de l’app, que nous nommerons id_app et la clé secrète, la bien-nommée key_app.

Obtention de la clé pour utiliser l’API

Nous allons maintenant obtenir la clé pour utiliser cette API, celle-ci aura une date d’expiration, donc mettez en favori cet article et profitez-en pour vous abonner.

Nous allons nous rendre sur l’explorateur graphique de l’API, cliquez sur cette page.

Vous allez arriver sur cette page :

explorer_api_graph
explorer_api_graph

Commencez par sélectionner votre application dans le champ 1.

Dans le champ 2, cliquez sur get User Access Token , un popup s’affiche, sélectionnez :

  • manage_pages
  • publish_pages

Puis cliquez sur : Get Access Token

Notez (plutôt copier-coller) la ligne contenu dans le champ 3, il s’agira de Access_token.

Maintenant dans la barre d’adresse de votre navigateur préféré, saisir :

https://graph.facebook.com/oauth/access_token?
  client_id={id_app}&
  client_secret={key_app}&
  grant_type=fb_exchange_token&
  fb_exchange_token={Access_token}

Remplacez les différentes variables par celle que vous avez obtenu, supprimez les accolades et ne mettez pas de guillement ou autre. Une fois fait, ouvrez l’URL, vous devriez obtenir une ligne de ce type : access_token={…}&expires={…}

Votre clé se trouve entre les premières accolades.

Il semblerait que l’expiration soit au bout de 60 jours.

Utilisation de l’API facebook pour publier sur une page

Installation de pip

Dans un terminal, faites :

wget https://bootstrap.pypa.io/get-pip.py get-pip.py
python get-pip.py
 Pip s’installe.

Installation du sdk de facebook

Commencer par installer le sdk de facebook :

pip install facebook-sdk

Voilà, le sdk s’installe également.

Utilisation de l’api

Créer un fichier publi_fb.py, dans lequel vous allez mettre :

import facebook

def main():
  # Remplir avec les valeurs obtenu précédemment
  cfg = {
    "page_id"      : "VALUE",  # votre id_page
    "access_token" : "VALUE"   # la dernière clé obtenu
    }

  api = get_api(cfg)
  msg = "Hello, world!" #Votre message
  status = api.put_wall_post(msg)

def get_api(cfg):
  graph = facebook.GraphAPI(cfg['access_token'])
  # Get page token to post as the page. You can skip 
  # the following if you want to post as yourself. 
  resp = graph.get_object('me/accounts')
  page_access_token = None
  for page in resp['data']:
    if page['id'] == cfg['page_id']:
      page_access_token = page['access_token']
  graph = facebook.GraphAPI(page_access_token)
  return graph
  # You can also skip the above if you get a page token:
  # http://stackoverflow.com/questions/8231877/facebook-access-token-for-pages
  # and make that long-lived token as in Step 3

if __name__ == "__main__":
  main()

Une fois enregistré, exécuter le fichier : python publi_fb.py  et allez vérifier votre page.

N’hésitez pas à partager cet article.

Laisser un commentaire