Fonctionnalité Facebook depuis la ligne de commande.
gem install facebook-cli
(peut nécessiter sudo)
Pour interagir avec l'API Facebook, vous devez créer et configurer une application Facebook pour votre usage personnel. Suivez attentivement ces instructions :
Accédez à https://developers.facebook.com/apps et créez une nouvelle application (capture d'écran)
Configurer un nouveau produit « Connexion Facebook »
Ne vous embêtez pas à choisir une plateforme. Cliquez plutôt sur « Paramètres » sous « Connexion Facebook » dans la barre latérale.
Sous « URI de redirection OAuth valides », ajoutez : https://localhost:3333/
(cela est nécessaire pour recevoir le code d'authentification lors de l'authentification)
Cliquez sur "Enregistrer les modifications"
Accédez à « App Review » et rendez votre application publique
Allez dans "Paramètres" > "Basique"
Sous « App Secret », cliquez sur « Afficher » pour révéler le secret de votre application.
Ouvrez un terminal et enregistrez votre App ID et App Secret en exécutant : (capture d'écran)
facebook-cli config --appid=<app-id> --appsecret=<app-secret>
Une fois l'application Facebook configurée, vous devez l'autoriser à accéder au graphe social en votre nom :
Dans un terminal, exécutez : facebook-cli login
(capture d'écran)
(Si vous vous authentifiez sur une machine distante ou utilisez un port différent pour recevoir le code d'authentification : facebook-cli login --host <hostname-or-ip> --port <port>
)
Ouvrez l'URL donnée dans un navigateur Web et connectez-vous à votre compte Facebook si vous y êtes invité.
Cliquez sur "Continuer" pour approuver les autorisations (capture d'écran)
Sélectionnez l'étendue de votre audience pour tous les articles que vous publiez à l'aide de cette application (capture d'écran) (en savoir plus)
Cliquez sur "OK" pour continuer
Si vous utilisez Firefox et que vous obtenez une erreur SEC_ERROR_REUSED_ISSUER_AND_SERIAL
, copiez simplement l'URL et exécutez curl -k <url>
dans un terminal
Fermez l'onglet du navigateur (capture d'écran)
L'exécution facebook-cli
ou facebook-cli help
affiche la liste des commandes disponibles :
COMMANDS api - Make a direct Facebook API request config - Save your Facebook API credentials feed - List posts on your timeline help - Shows a list of commands or help for one command likes - List pages you have 'Liked' links - Some useful URLs login - Request Facebook permissions and receive an API access token logout - Deauthorize your access token me - Show your profile information photos - List photos you have uploaded photosof - List photos you are tagged in videos - List videos you have uploaded videosof - List videos you are tagged in
Exécutez facebook-cli help <command>
pour plus de détails sur chaque commande.
Utilisez un moteur de rendu Markdown pour convertir facilement la sortie en document HTML. Par exemple, en utilisant Pandoc :
facebook-cli likes | pandoc -s -f markdown_github > likes.html
Voir : exemple
Amis Facebook - Créez une page qui vous permet de cliquer sur les photos de profil de vos amis pour accéder à leur fil d'actualité.
Navigateur Facebook - Créez un index consultable de toutes les pages Facebook que vous suivez
Économiseur d'écran qui imprime les titres de toutes vos pages Facebook « J'aime », réalisé en utilisant la sortie des facebook-cli likes | awk 'NR % 3 == 1' | perl -p -e "s/n/ - /"
comme entrée de texte dans l'économiseur d'écran Phosphor
Facebook a supprimé une grande partie de son API Graph à partir de la version 2.0. Niraj Shah a fait un travail fantastique en documentant les réductions et leurs implications dans ces articles de blog :
API Facebook : sortie de l'API Graph v2.4, suppression des groupes, des notifications et des autorisations de flux
Facebook annonce l'API Graph v2.3, plus de dépréciations
API Facebook : se faire des amis à l'aide de l'API Graph 2.0 et du SDK PHP 4.0.x
Un article publié en octobre 2012 par le développeur de Facebook Henry Zhang donne un aperçu du raisonnement :
Les publications sur le mur d'amis via l'API génèrent un niveau élevé de commentaires négatifs des utilisateurs, notamment « Masquer » et « Marquer comme spam ». Nous les supprimons donc de l'API. Si vous souhaitez autoriser les gens à publier sur la chronologie de leurs amis depuis votre app, vous pouvez appeler la boîte de dialogue de flux.
Des changements plus récents décrits sur le portail des développeurs de Facebook couvrent d'autres dépréciations massives adoptées en 2018, qui ont éliminé la capacité de Facebook-cli à accéder aux événements passés et à venir, à publier du contenu et à récupérer les noms d'amis pouvant être identifiés, comme c'était encore possible avec la précédente restriction de longue date. Les fonctions disponibles de facebook-cli ont été élaguées pour refléter les dernières modifications.
La fonctionnalité supprimée rend impossible la création d’une interface complète avec Facebook via l’API Graph uniquement.
Si vous étendez les fonctionnalités de Facebook-cli de quelque manière que ce soit, veuillez ouvrir une pull request.
Clonez ce dépôt, puis utilisez Bundler pour installer les dépendances Ruby :
gem install bundler bundle install
Vous devriez maintenant pouvoir exécuter Facebook-cli à partir du répertoire bin
:
bundle exec bin/facebook-cli
facebook-cli dépend de la bibliothèque Koala pour s'interfacer avec l'API Graph et GLI de Facebook pour analyser les arguments de ligne de commande.
L'utilisation d'un gestionnaire d'environnement Ruby tel que rbenv ou rvm est conseillée pour éviter les conflits d'environnement entre les projets.
Si vous souhaitez contribuer, veuillez jeter un bref coup d’œil au guide.
Applications :
vhpoet/facebook-cli (Facebook CLI écrit en NodeJS)
fb-messenger-cli (Facebook Messenger pour le terminal)
Caprine (interface graphique autonome de Facebook Messenger)
Messenger for Desktop (interface graphique autonome de Facebook Messenger - actuellement non maintenue)
Bibliothèques :
Koala (Rubis)
facebook-node-sdk (JavaScript)
ISC