来自命令行的 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)
国际标准委员会