來自命令列的 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>
)
在網頁瀏覽器中開啟給定的 URL,並根據提示登入您的 Facebook 帳戶
點擊“繼續”以批准權限(螢幕截圖)
選擇您使用此應用程式發布的任何貼文的受眾範圍(螢幕截圖)(了解更多)
按一下“確定”繼續
如果您使用 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 頁面的標題,這是使用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依賴 Koala 函式庫來與 Facebook 的 Graph API 進行交互,並依賴 GLI 來解析命令列參數。
建議使用 rbenv 或 rvm 等 ruby 環境管理器,以避免專案之間的環境衝突。
如果您想做出貢獻,請簡要瀏覽一下該指南。
應用:
vhpoet/facebook-cli(用 NodeJS 寫的 Facebook CLI)
fb-messenger-cli(終端機的 Facebook Messenger)
Caprine(Facebook Messenger 獨立 GUI)
桌面版 Messenger(Facebook Messenger 獨立 GUI - 目前未維護)
圖書館:
無尾熊(紅寶石)
facebook-node-sdk (JavaScript)
國際標準委員會