publora-facebook
使用 Publora API 将内容发布或安排到 Facebook 页面。用这个 当用户想要通过 Publora 发布或安排 Facebook 帖子时的技能。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~sergebulaev-publora-facebookcURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~sergebulaev-publora-facebook/file -o sergebulaev-publora-facebook.md# Publora — Facebook
Facebook platform skill for the Publora API. For auth, core scheduling, media upload, and workspace/webhook docs, see the `publora` core skill.
**Base URL:** `https://api.publora.com/api/v1`
**Header:** `x-publora-key: sk_YOUR_KEY`
**Platform ID format:** `facebook-{pageId}`
If you manage multiple Pages, each Page gets its own platform ID.
## Requirements
- A **Facebook Page** (not a personal profile) connected via OAuth
- Page admin permissions granted during OAuth
## Platform Limits (API)
> ⚠️ API video limits are significantly stricter than native.
| Property | API Limit | Notes |
|----------|-----------|-------|
| Text (API) | Up to **63,206 characters** | Publora frontend editor caps at 2,200; API itself has no lower limit |
| Images | Up to 10 × 10 MB | JPEG, PNG, GIF, BMP, TIFF; WebP auto-converted to JPEG |
| Video | **45 min** / **512 MB** (Publora server limit) | FB natively allows 2 GB — Publora caps at 512 MB |
| Reels duration | **3–90 seconds** | Pages only; 30/day |
| Reels rate limit | 30 Reels/day/Page | — |
| Reels posting | Pages only (not profiles) | — |
| Text only | ✅ Yes | — |
**Token management:** Facebook page tokens expire after **59 days**. Publora auto-refreshes, but if refresh fails silently (permission changes), posts will fail without a clear token error — reconnect the page in dashboard.
**Common errors:**
- `Error 1363026` — video over 45 min → trim
- `Error 1363023` — file over 2 GB (Publora's 512 MB limit kicks in first)
- `Error 1363128` — Reels duration outside 3–90s range
> Posts under 80 characters get 66% more engagement on Facebook.
## Post a Text Update
```javascript
await fetch('https://api.publora.com/api/v1/create-post', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
content: 'Exciting news from our team! We just launched a new feature. Check it out at publora.com 🎉',
platforms: ['facebook-123456789']
})
});
```
## Schedule a Post
```javascript
body: JSON.stringify({
content: 'Your Facebook Page update',
platforms: ['facebook-123456789'],
scheduledTime: '2026-03-20T13:00:00.000Z'
})
```
## Post with Image
```javascript
// Step 1: Create post
const post = await fetch('https://api.publora.com/api/v1/create-post', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
content: 'Check out our latest product photo!',
platforms: ['facebook-123456789']
})
}).then(r => r.json());
// Step 2: Get upload URL
const upload = await fetch('https://api.publora.com/api/v1/get-upload-url', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
postGroupId: post.postGroupId,
fileName: 'photo.jpg',
contentType: 'image/jpeg',
type: 'image'
})
}).then(r => r.json());
// Step 3: Upload
await fetch(upload.uploadUrl, {
method: 'PUT',
headers: { 'Content-Type': 'image/jpeg' },
body: imageBytes
});
```
## Post a Reel (3–90 seconds)
Use the same flow but upload a short video file. Reels are posted to Pages only.
## Platform Quirks
- **Pages only** — personal profiles are not supported via the Facebook Graph API
- **Multiple pages** — each Page has a separate platform ID; include multiple `facebook-{pageId}` in `platforms` array to post to several at once
- **Video limit**: 45 min / **512 MB** (Publora server cap — FB natively allows 2 GB; Publora's limit kicks in first)
- **Reels**: Must be 3–90 seconds; Pages only; 30/day per Page
- **Images only in multi-media**: Multiple videos in one post are not supported — they'll go through the photo path incorrectly. Use one video per post.
- **No mixed media**: Images + video in same post will fail at Facebook API level (Publora doesn't pre-validate this for Facebook)
- **WebP auto-converted** to JPEG — no action needed
- **59-day token**: Publora auto-refreshes page tokens; reconnect dashboard if you see unexplained posting failures
- **Link previews**: Including a URL in text triggers Facebook's auto link preview — not controllable via API
- **Rate limit formula**: 200 × users/hour
---
## 中文说明
# Publora — Facebook
Publora API 的 Facebook 平台技能。有关认证、核心调度、媒体上传以及工作区/webhook 文档,请参阅 `publora` 核心技能。
**Base URL:** `https://api.publora.com/api/v1`
**Header:** `x-publora-key: sk_YOUR_KEY`
**Platform ID format:** `facebook-{pageId}`
如果你管理多个主页,每个主页都有各自的 platform ID。
## Requirements
- 一个通过 OAuth 连接的 **Facebook 主页**(而非个人资料)
- 在 OAuth 期间授予的主页管理员权限
## Platform Limits (API)
> ⚠️ API 的视频限制比原生平台严格得多。
| 属性 | API 限制 | 备注 |
|----------|-----------|-------|
| 文本(API) | 最多 **63,206 个字符** | Publora 前端编辑器上限为 2,200;API 本身无下限 |
| 图片 | 最多 10 × 10 MB | JPEG、PNG、GIF、BMP、TIFF;WebP 自动转换为 JPEG |
| 视频 | **45 分钟** / **512 MB**(Publora 服务器限制) | FB 原生允许 2 GB——Publora 上限为 512 MB |
| Reels 时长 | **3–90 秒** | 仅限主页;每天 30 条 |
| Reels 速率限制 | 每个主页每天 30 条 Reels | — |
| Reels 发布 | 仅限主页(不支持个人资料) | — |
| 纯文本 | ✅ 是 | — |
**Token 管理:** Facebook 主页 token 在 **59 天**后过期。Publora 会自动刷新,但如果刷新静默失败(权限变更),帖子将失败且不会有明确的 token 错误——请在控制台中重新连接主页。
**常见错误:**
- `Error 1363026` — 视频超过 45 分钟 → 裁剪
- `Error 1363023` — 文件超过 2 GB(Publora 的 512 MB 限制会先生效)
- `Error 1363128` — Reels 时长超出 3–90 秒范围
> 在 Facebook 上,少于 80 个字符的帖子互动量会高出 66%。
## Post a Text Update
```javascript
await fetch('https://api.publora.com/api/v1/create-post', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
content: 'Exciting news from our team! We just launched a new feature. Check it out at publora.com 🎉',
platforms: ['facebook-123456789']
})
});
```
## Schedule a Post
```javascript
body: JSON.stringify({
content: 'Your Facebook Page update',
platforms: ['facebook-123456789'],
scheduledTime: '2026-03-20T13:00:00.000Z'
})
```
## Post with Image
```javascript
// Step 1: Create post
const post = await fetch('https://api.publora.com/api/v1/create-post', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
content: 'Check out our latest product photo!',
platforms: ['facebook-123456789']
})
}).then(r => r.json());
// Step 2: Get upload URL
const upload = await fetch('https://api.publora.com/api/v1/get-upload-url', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
postGroupId: post.postGroupId,
fileName: 'photo.jpg',
contentType: 'image/jpeg',
type: 'image'
})
}).then(r => r.json());
// Step 3: Upload
await fetch(upload.uploadUrl, {
method: 'PUT',
headers: { 'Content-Type': 'image/jpeg' },
body: imageBytes
});
```
## Post a Reel (3–90 seconds)
使用相同的流程,但上传一个短视频文件。Reels 只能发布到主页。
## Platform Quirks
- **仅限主页** — 通过 Facebook Graph API 不支持个人资料
- **多个主页** — 每个主页都有独立的 platform ID;在 `platforms` 数组中包含多个 `facebook-{pageId}` 即可同时发布到多个主页
- **视频限制**:45 分钟 / **512 MB**(Publora 服务器上限——FB 原生允许 2 GB;Publora 的限制会先生效)
- **Reels**:必须为 3–90 秒;仅限主页;每个主页每天 30 条
- **多媒体中仅支持图片**:不支持在一个帖子中包含多个视频——它们会错误地走图片路径。每个帖子请使用一个视频。
- **不支持混合媒体**:同一帖子中同时包含图片 + 视频会在 Facebook API 层面失败(Publora 不会针对 Facebook 预先验证此情况)
- **WebP 自动转换**为 JPEG——无需任何操作
- **59 天 token**:Publora 会自动刷新主页 token;如果看到无法解释的发布失败,请在控制台中重新连接
- **链接预览**:在文本中包含 URL 会触发 Facebook 的自动链接预览——无法通过 API 控制
- **速率限制公式**:200 × 用户数/小时