Facebook-Funktionalität über die Befehlszeile.
gem install facebook-cli
(möglicherweise ist Sudo erforderlich)
Um mit der Facebook-API zu interagieren, müssen Sie eine Facebook-Anwendung für Ihren persönlichen Gebrauch erstellen und konfigurieren. Befolgen Sie diese Anweisungen sorgfältig:
Gehen Sie zu https://developers.facebook.com/apps und erstellen Sie eine neue App (Screenshot)
Richten Sie ein neues „Facebook Login“-Produkt ein
Machen Sie sich nicht die Mühe, eine Plattform auszuwählen. Klicken Sie stattdessen in der Seitenleiste unter „Facebook-Login“ auf „Einstellungen“.
Fügen Sie unter „Gültige OAuth-Umleitungs-URIs“ Folgendes hinzu: https://localhost:3333/
(dies ist erforderlich, um den Authentifizierungscode während der Authentifizierung zu erhalten)
Klicken Sie auf „Änderungen speichern“
Gehen Sie zu „App Review“ und machen Sie Ihre App öffentlich
Gehen Sie zu „Einstellungen“ > „Grundlegend“
Klicken Sie unter „App-Geheimnis“ auf „Anzeigen“, um Ihr App-Geheimnis anzuzeigen
Öffnen Sie ein Terminal und speichern Sie Ihre App-ID und Ihr App-Geheimnis, indem Sie Folgendes ausführen: (Screenshot)
facebook-cli config --appid=<app-id> --appsecret=<app-secret>
Sobald die Facebook-App konfiguriert ist, müssen Sie ihr erlauben, in Ihrem Namen auf den Social Graph zuzugreifen:
Führen Sie in einem Terminal Folgendes aus: facebook-cli login
(Screenshot)
(Bei der Authentifizierung auf einem Remote-Computer oder bei Verwendung eines anderen Ports zum Empfangen des Authentifizierungscodes: facebook-cli login --host <hostname-or-ip> --port <port>
)
Öffnen Sie die angegebene URL in einem Webbrowser und melden Sie sich bei Aufforderung bei Ihrem Facebook-Konto an
Klicken Sie auf „Weiter“, um die Berechtigungen zu genehmigen (Screenshot)
Wählen Sie den Umfang Ihrer Zielgruppe für alle Beiträge aus, die Sie mit dieser Anwendung veröffentlichen (Screenshot) (weiterlesen)
Klicken Sie auf „OK“, um fortzufahren
Wenn Sie Firefox verwenden und die Fehlermeldung SEC_ERROR_REUSED_ISSUER_AND_SERIAL
erhalten, kopieren Sie einfach die URL und führen Sie curl -k <url>
in einem Terminal aus
Schließen Sie den Browser-Tab (Screenshot)
Beim Ausführen facebook-cli
oder facebook-cli help
wird die Liste der verfügbaren Befehle angezeigt:
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
Führen Sie facebook-cli help <command>
aus, um weitere Details zu jedem Befehl zu erhalten.
Verwenden Sie einen Markdown-Renderer, um die Ausgabe einfach in ein HTML-Dokument zu konvertieren. Zum Beispiel mit Pandoc:
facebook-cli likes | pandoc -s -f markdown_github > likes.html
Siehe: Beispiel
Facebook-Freunde – Erstellen Sie eine Seite, auf der Sie auf die Profilbilder Ihrer Freunde klicken können, um zu deren Chronik zu springen
Facebook-Browser – Erstellen Sie einen durchsuchbaren Index aller Facebook-Seiten, denen Sie folgen
Bildschirmschoner, der die Titel aller Ihrer „Gefällt mir“-Facebook-Seiten druckt, erstellt mithilfe der Ausgabe von facebook-cli likes | awk 'NR % 3 == 1' | perl -p -e "s/n/ - /"
als Texteingabe für den Phosphor-Bildschirmschoner
Facebook hat ab Version 2.0 einen großen Teil seiner Graph-API entfernt. Niraj Shah hat in diesen Blogbeiträgen fantastische Arbeit geleistet und die Kürzungen und ihre Auswirkungen dokumentiert:
Facebook API: Graph API v2.4 veröffentlicht, entfernt Gruppen, Benachrichtigungen und Stream-Berechtigungen
Facebook kündigt Graph API v2.3 und weitere veraltete Funktionen an
Facebook-API: Freunde gewinnen mit Graph API 2.0 und PHP SDK 4.0.x
Ein im Oktober 2012 veröffentlichter Artikel des Facebook-Entwicklers Henry Zhang gibt Einblick in die Argumentation:
Das Posten auf der Pinnwand eines Freundes über die API erzeugt ein hohes Maß an negativem Benutzer-Feedback, einschließlich „Ausblenden“ und „Als Spam markieren“. Deshalb entfernen wir es aus der API. Wenn Sie es anderen ermöglichen möchten, von Ihrem aus auf der Chronik ihrer Freunde zu posten App können Sie den Feed-Dialog aufrufen.
Zu den jüngsten Änderungen, die auf dem Facebook-Entwicklerportal beschrieben werden, gehören weitere massive Abwertungen, die im Jahr 2018 erlassen wurden und die dazu führten, dass Facebook-cli nicht mehr in der Lage ist, auf vergangene und bevorstehende Ereignisse zuzugreifen, Inhalte zu veröffentlichen und Namen taggierbarer Freunde abzurufen, wie dies mit der vorherigen langjährigen Einschränkung noch möglich war. Die verfügbaren Funktionen von facebook-cli wurden bereinigt, um die neuesten Änderungen widerzuspiegeln.
Die entfernte Funktionalität macht es unmöglich, allein über die Graph-API eine voll funktionsfähige Schnittstelle zu Facebook zu erstellen.
Wenn Sie die Funktionalität von facebook-cli in irgendeiner Weise erweitern, öffnen Sie bitte eine Pull-Anfrage.
Klonen Sie dieses Repository und verwenden Sie dann Bundler, um Ruby-Abhängigkeiten zu installieren:
gem install bundler bundle install
Sie sollten nun in der Lage sein, facebook-cli aus dem bin
-Verzeichnis auszuführen:
bundle exec bin/facebook-cli
facebook-cli ist für die Verbindung mit der Graph-API von Facebook und GLI für die Analyse von Befehlszeilenargumenten auf die Koala-Bibliothek angewiesen.
Um Umgebungskonflikte zwischen Projekten zu vermeiden, empfiehlt sich die Verwendung eines Ruby-Umgebungsmanagers wie rbenv oder rvm.
Wenn Sie einen Beitrag leisten möchten, werfen Sie bitte einen kurzen Blick auf den Leitfaden.
Anwendungen:
vhpoet/facebook-cli (Facebook-CLI geschrieben in NodeJS)
fb-messenger-cli (Facebook Messenger für das Terminal)
Caprine (eigenständige Benutzeroberfläche von Facebook Messenger)
Messenger für Desktop (Standalone-GUI von Facebook Messenger – derzeit nicht gewartet)
Bibliotheken:
Koala (Rubin)
facebook-node-sdk (JavaScript)
ISC