如何获取Facebook v3.0 API永久令牌实现Node.js无人值守页面发帖
解决Facebook Graph API v3.0永久发帖令牌问题
嘿,我懂你想要无人值守自动发帖的需求——Facebook确实没有真正意义上的“永久”用户访问令牌,但我们可以获取长期有效的页面访问令牌,完全能满足你的无人值守需求,针对v3.0版本的具体流程如下:
前提准备
- 确保你拥有Facebook开发者账号,且已创建对应应用,给应用添加核心权限:
pages_show_list、pages_manage_posts(这两个是v3.0版本下管理页面发帖的必备权限) - 如果你只是管理自己的页面,这些权限无需提交审核就能直接使用;若要访问其他用户的页面,则需要走Facebook的权限审核流程。
步骤1:获取60天有效期的长期用户令牌
你已经能通过Graph API Explorer生成短期用户令牌,接下来用它交换长期令牌:
调用Graph API端点:
GET /oauth/access_token?grant_type=fb_exchange_token&client_id={你的应用ID}&client_secret={你的应用密钥}&fb_exchange_token={你的短期用户令牌}
返回结果里的access_token就是有效期60天的长期用户令牌。
步骤2:获取永久有效的页面访问令牌
用刚才拿到的长期用户令牌,调用以下端点:
GET /me/accounts?access_token={你的长期用户令牌}
返回的JSON数据中,每个你有权限管理的页面都会对应一个access_token字段——这个就是永久有效的页面访问令牌(只要你的应用不被Facebook禁用,令牌就会一直有效)。
验证与使用
拿到页面令牌后,你可以先测试发帖功能,比如调用:
POST /{你的页面ID}/feed?access_token={页面令牌}&message=测试自动发帖&link={媒体资源链接}
如果是上传本地视频/图片,可以用/{页面ID}/photos或/{页面ID}/videos端点,按照v3.0的API文档构造请求即可。
注意事项
- 务必妥善保存页面令牌,不要随意泄露,因为它拥有管理页面内容的核心权限
- v3.0版本的API虽已停止官方维护,但只要令牌有效,依然可以正常执行发帖操作
内容的提问来源于stack exchange,提问作者Jordi Blanch




