Facebook 视频自动发布系统

基于 Graph API 的视频上传与定时发布管理平台
6
视频总数
0
已发布
0
已排期
6
待发布
3
项目数
Facebook 配置信息
ACCESS_TOKEN EAAWUK2ZCbUdoBR7rQs0O3nnTBzcq0LB3LISnjMA…
PAGE_ID 1230792043442810
url_Facebook https://graph.facebook.com/v19.0/
timezone Asia/Shanghai
Horários para agendamento 09:00,14:00,20:00
Dias limite para agendamento 7
Quantidade máxima de agendamentos por execução 5
Tempo de espera entre agendamentos em segundos 300
Tempo de segurança pós horário atual ou agendamento em minutos 5
url_Telegram https://api.telegram.org/bot
视频列表 6 条记录
项目 类型 标题 状态 Facebook ID 排期时间 方式
#1 视频 Komatsu PC350 LC 挖掘机展示 待发布
#1 图文 Cat 320D 挖掘机工作场景 待发布
#2 视频 XCMG 装载机产品介绍 待发布
#2 图文 Liugong 装载机实拍 待发布
#3 视频 Shantui 推土机展示 待发布
#3 图文 Komatsu 推土机实拍 待发布
运行日志

暂无日志。

以下教程将引导你完成 Facebook 视频发布系统的全流程配置。

1 准备工作

开始之前,你需要准备以下内容:

  • 一个 Facebook 公共主页(Page) — 视频将发布到这个页面
  • 一个 Facebook 开发者应用(App) — 用于获取 API 权限
  • Facebook Page Access Token — 授权令牌(需 pages_manage_posts + pages_read_engagement 权限)
  • 服务器上的视频文件 — 需要填写绝对路径(如 /data/videos/demo.mp4

2 获取 Page Access Token

在 Facebook Graph API Explorer 获取长期有效 Token:

  • 打开 Graph API Explorer
  • 选择你的应用(App),权限勾选 pages_manage_postspages_read_engagement
  • 点击 Get TokenPage Access Token → 选择你的公共主页
  • 将生成的 Token 复制下来
  • 延长有效期:Access Token Debugger 中 Debug → Extend,获取 60 天有效 Token
Token 过期后需重新生成,建议定期检查 Token 状态

3 获取 Page ID

  • 进入 Facebook 公共主页,查看浏览器地址栏 URL
  • URL 格式为:https://www.facebook.com/profile.php?id=123456789 — 数字部分即为 Page ID
  • 或在 Graph API Explorer 中执行 GET /me/accounts 查看所有管理的页面及其 ID

4 配置数据库文件

点击「初始化数据库」按钮后,编辑 /data/fb-scheduler/data/database.xlsx

工作表结构:

  • 工作表「Configurações Facebook」 — 系统配置
配置项说明示例值
ACCESS_TOKENFacebook Page Access TokenEAABwzLiw...(长字符串)
PAGE_ID公共主页 ID123456789
url_FacebookGraph API 基础 URLhttps://graph.facebook.com/v19.0/
timezone时区Asia/Shanghai
Horários para agendamento每日发布时段(逗号分隔)09:00,14:00,20:00
Dias limite para agendamento最大排期天数7
Tempo de espera entre agendamentos每次发布间隔秒数300
Bot Token TelegramTelegram 机器人 Token(可选)123:ABCdef...
Chat ID TelegramTelegram 聊天 ID(可选)987654321

工作表「Dados Projetos」 — 项目列表

  • ID — 项目编号(1, 2, 3...)
  • Nome_Projeto — 项目名称
  • Link — 关联链接(可选)
  • Quantidade_Videos — 视频数量

项目视频工作表(以项目 ID 命名) — 如工作表「1」「2」「3」

  • ID — 视频编号
  • Facebook_Titulo — 帖子标题
  • Facebook_Descrição — 帖子描述/文字
  • Local_Video — 媒体文件绝对路径(视频或图片,如 /data/videos/excavator.mp4/data/images/photo.jpg
  • Facebook_ID — 留空,系统自动填写
  • Facebook_Agendamento — 留空,系统自动填写
  • Metodo — 留空,系统自动填写
  • Tipo — 帖子类型:video(视频)或 photo(图文),默认 video
Tipo 列说明:video 用视频 Resumable Upload 发布,填 photo 用图片接口发布图文帖子。不填默认为 video。

5 视频文件要求

  • 支持的格式:MP4、MOV、AVI 等常见格式
  • 推荐分辨率:1080p 或 720p
  • 最大文件大小:取决于 Facebook 限制(通常 10GB 以内)
  • 文件路径必须为服务器上的绝对路径
  • 服务器需安装 ffprobe(已安装)以自动获取视频时长
视频上传到服务器后,使用 ls -lh /data/videos/ 确认路径正确

6 运行与排期

  • 在控制面板点击「立即执行」按钮手动触发一次发布
  • 系统会自动从 Excel 读取待发布的视频,按配置时段逐条上传并排期
  • 每条视频发布后会自动更新 Excel 中的 Facebook_IDFacebook_Agendamento
  • 运行日志会在控制面板显示,同时写入 /data/fb-scheduler/log/ 目录
  • 如需定时自动运行,可在服务器上设置 Cron 定时任务

7 参数速查表

参数必须说明
ACCESS_TOKENFacebook Page 长期有效 Token
PAGE_ID公共主页的数字 ID
url_FacebookGraph API 地址(固定值)
timezone时区设置
发布时段每天几点发视频
视频文件路径服务器绝对路径
Telegram Bot Token可选,用于推送通知
Telegram Chat ID可选,通知接收目标

8 常见问题

  • Token 过期了怎么办?
    在 Access Token Debugger 重新延长有效期,或重新生成后更新 Excel
  • 视频上传失败?
    检查文件路径是否正确、文件是否存在、文件大小是否在 Facebook 限制内
  • 视频状态一直是 processing?
    Facebook 需要时间处理视频,大文件可能需要数分钟。系统会自动轮询直到 Ready
  • 如何修改发布时段?
    修改 Excel 中「Configurações Facebook」工作表的 Horários para agendamento
  • 如何添加新视频?
    在对应项目工作表中新增一行,填写标题、描述、文件路径,留空 Facebook_ID 和 Facebook_Agendamento