facebook-publish

star 8.3k

Publish posts, videos, and reels to Facebook via Meta Graph API v23.0. Supports feed posts, video posts, photo posts, reels, and stories. Requires Meta OAuth2 page access token.

TeamWiseFlow By TeamWiseFlow schedule Updated 6/4/2026

name: facebook-publish description: Publish posts, videos, and reels to Facebook via Meta Graph API v23.0. Supports feed posts, video posts, photo posts, reels, and stories. Requires Meta OAuth2 page access token. metadata: openclaw: emoji: 📘 requires: bins: - python3


Facebook 发布(facebook-publish)

通过 Meta Graph API v23.0 发布内容到 Facebook,支持帖子、视频、Reels 和 Stories。使用 Meta OAuth2 Page Access Token 认证。


前置条件

  1. Meta Developer Portal 创建应用,获取 App ID / App Secret
  2. 申请 pages_manage_postspages_read_engagement 权限
  3. 获取长效 Page Access Token

配置

保存到 ~/.openclaw/credentials/facebook_config.json

{
  "app_id": "your_app_id",
  "app_secret": "your_app_secret",
  "page_access_token": "your_long_lived_page_token",
  "page_id": "your_page_id"
}

使用方式

文字帖子:

python3 ./skills/facebook-publish/scripts/publish_facebook.py \
  --message "帖子内容" \
  --mode feed

视频/Reel:

python3 ./skills/facebook-publish/scripts/publish_facebook.py \
  --message "描述" \
  --video video.mp4 \
  --mode reel

图片帖子:

python3 ./skills/facebook-publish/scripts/publish_facebook.py \
  --message "描述" \
  --images img1.jpg img2.jpg \
  --mode feed

参数说明

参数 必填 说明
--message 帖子内容
--mode feed/video/reel/story
--video 视频模式必填 视频文件路径
--images 图片模式必填 图片路径列表
--title 视频标题(video 模式)

Agent 工作流

  1. 检查 Facebook 配置是否存在
  2. 准备内容 + 媒体文件
  3. 运行 publish_facebook.py 脚本
  4. 检查 stdout JSON 输出:
    • {"ok": true, "post_id": "xxx", "url": "https://facebook.com/xxx"} → 成功
    • {"ok": false, "error": "AUTH_REQUIRED"} → 更新 Page Token
    • {"ok": false, "error": "..."} → 其他错误

错误处理

错误 原因 处理
AUTH_REQUIRED Token 失效 更新 Page Access Token
UPLOAD_FAILED 上传失败 检查文件格式,重试
MEDIA_PROCESSING 视频处理中 轮询状态等待完成
RATE_LIMIT 频率限制 等待后重试

发布记录(强制)

发布成功后,必须立即调用 published-track 技能记录发布信息:

./skills/published-track/scripts/record.sh \
  --platform facebook \
  --title "标题" \
  --content-type post \
  --source-folder "<原始文件夹路径>" \
  --publish-url "<发布URL>" \
  --publish-date "$(date +%Y-%m-%d)"

--source-folder 为原始内容所在的相对路径(如 output_articles/xxxoutput_videos/xxx)。 --publish-url 为发布后获得的 URL,若发布失败则留空并在 --notes 中注明原因。

执行 ./skills/published-track/scripts/init-db.sh(幂等,重复执行无副作用)。

Install via CLI
npx skills add https://github.com/TeamWiseFlow/wiseflow --skill facebook-publish
Repository Details
star Stars 8,256
call_split Forks 1,413
navigation Branch main
article Path SKILL.md
More from Creator
TeamWiseFlow
TeamWiseFlow Explore all skills →