コマンドラインからの Facebook 機能。
gem install facebook-cli
(sudo が必要な場合があります)
Facebook API を操作するには、個人使用のために Facebook アプリケーションを作成して構成する必要があります。次の指示に注意深く従ってください。
https://developers.facebook.com/apps に移動し、新しいアプリを作成します (スクリーンショット)
新しい「Facebook ログイン」製品をセットアップする
プラットフォームの選択を気にする必要はありません。代わりに、サイドバーの「Facebook ログイン」の下にある「設定」をクリックします。
「有効な OAuth リダイレクト URI」の下に、 https://localhost:3333/
を追加します (これは、認証中に認証コードを受信するために必要です)
「変更を保存」をクリックします
「アプリレビュー」に移動し、アプリを公開します
「設定」>「基本」に進みます。
[アプリ シークレット] で [表示] をクリックしてアプリ シークレットを表示します。
ターミナルを開き、次のコマンドを実行してアプリ ID とアプリ シークレットを保存します: (スクリーンショット)
facebook-cli config --appid=<app-id> --appsecret=<app-secret>
Facebook アプリを構成したら、ユーザーに代わってソーシャル グラフにアクセスすることを承認する必要があります。
ターミナルで次のコマンドを実行します: facebook-cli login
(スクリーンショット)
(リモートマシンで認証する場合、または認証コードを受信するために別のポートを使用する場合: facebook-cli login --host <hostname-or-ip> --port <port>
)
Web ブラウザで指定された URL を開き、メッセージが表示されたら Facebook アカウントにログインします。
「続行」をクリックして権限を承認します(スクリーンショット)
このアプリケーションを使用して公開する投稿の対象範囲を選択します (スクリーンショット) (詳細を読む)
「OK」をクリックして続行します
Firefox を使用していてSEC_ERROR_REUSED_ISSUER_AND_SERIAL
エラーが発生した場合は、URL をコピーし、ターミナルでcurl -k <url>
を実行してください。
ブラウザのタブを閉じます(スクリーンショット)
facebook-cli
またはfacebook-cli help
を実行すると、使用可能なコマンドのリストが表示されます。
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
各コマンドの詳細については、 facebook-cli help <command>
を実行してください。
Markdown レンダラーを使用すると、出力を HTML ドキュメントに簡単に変換できます。 たとえば、Pandoc を使用すると、次のようになります。
facebook-cli likes | pandoc -s -f markdown_github > likes.html
参照: 例
Facebook 友達 - 友達のプロフィール写真をクリックしてタイムラインにジャンプできるページを作成します
Facebook ブラウザ - フォローしているすべての Facebook ページの検索可能なインデックスを作成します
facebook-cli likes | awk 'NR % 3 == 1' | perl -p -e "s/n/ - /"
Phosphor スクリーンセーバーへのテキスト入力として使用
Facebook は、バージョン 2.0 以降、Graph API の大部分を削除しました。 Niraj Shah は、次のブログ投稿で削減とその影響を文書化する素晴らしい仕事をしました。
Facebook API: Graph API v2.4 がリリースされ、グループ、通知、ストリーム権限が削除されました
Facebook が Graph API v2.3、さらなる非推奨を発表
Facebook API: Graph API 2.0 および PHP SDK 4.0.x を使用して友達を取得する
Facebook の開発者である Henry Zhang が 2012 年 10 月に公開した記事では、その理由についての洞察が得られます。
API を介して友達のウォールに投稿すると、「非表示」や「スパムとしてマーク」などの高レベルの否定的なユーザー フィードバックが生成されるため、API から削除します。ユーザーが自分のアカウントから友達のタイムラインに投稿できるようにしたい場合は、アプリでは、フィード ダイアログを呼び出すことができます。
Facebook の開発者ポータルで概説されている最近の変更は、2018 年に制定されたさらなる大規模な非推奨をカバーしており、これにより、以前の長年の制限ではまだ可能であった、過去および今後のイベントへのアクセス、コンテンツの公開、タグ付け可能な友人の名前の取得などの facebook-cli の機能が排除されました。 facebook-cli の利用可能な機能は、最新の変更を反映するために削除されました。
機能が削除されたため、Graph API だけを使用して Facebook へのフル機能のインターフェイスを構築することは不可能になります。
何らかの方法で facebook-cli の機能を拡張する場合は、プル リクエストを開いてください。
このリポジトリのクローンを作成し、Bundler を使用して Ruby の依存関係をインストールします。
gem install bundler bundle install
これで、 bin
ディレクトリからfacebook-cli を実行できるようになります。
bundle exec bin/facebook-cli
facebook-cli は、 Facebook の Graph API とのインターフェイスとして Koala ライブラリに依存し、コマンド ライン引数を解析するために GLI に依存します。
プロジェクト間の環境の競合を避けるために、rbenv や RVM などの Ruby 環境マネージャーを使用することをお勧めします。
貢献したい場合は、ガイドを簡単に読んでください。
アプリケーション:
vhpoet/facebook-cli (NodeJS で書かれた Facebook CLI)
fb-messenger-cli (端末用 Facebook メッセンジャー)
Caprine (Facebook Messenger スタンドアロン GUI)
デスクトップ用メッセンジャー (Facebook メッセンジャー スタンドアロン GUI - 現在メンテナンスされていません)
ライブラリ:
コアラ(ルビー)
facebook-node-sdk (JavaScript)
ISC