Facebook: Reels, Stories, and scheduled post support #162

Open
opened 2026-06-23 13:37:50 +00:00 by jmiller · 0 comments
Owner

Summary

The Facebook Graph API supports Reels, Stories, scheduled posts, and draft posts. Our plugin only does basic text+image feed posts.

Features to Add

Reels

  • POST /{page-id}/video_reels endpoint
  • 9:16 aspect ratio video
  • Limit: 30 Reels per Page per 24 hours
  • Requires video URL (publicly accessible)

Stories

  • POST /{page-id}/photo_stories for image stories
  • Video stories via Video API
  • Expire after 24 hours

Scheduled Posts

  • scheduled_publish_time parameter (Unix timestamp, 10min-6mo in future)
  • Appears in Meta Business Suite
  • Can be cancelled before scheduled time

Draft Posts

  • published=false parameter
  • Saved for later editing/scheduling in Meta Business Suite

Implementation

Add params support to FacebookService::publish():

  • $params['content_type']: feed (default) / reel / story
  • $params['scheduled_at']: ISO 8601 datetime for scheduling
  • $params['draft']: boolean for draft mode

Acceptance Criteria

  • Reels support when video media provided with reel flag
  • Stories support for image and video
  • Scheduled posts via scheduled_publish_time
  • Draft mode via published=false
  • Graceful fallback to feed post when content type not supported
## Summary The Facebook Graph API supports Reels, Stories, scheduled posts, and draft posts. Our plugin only does basic text+image feed posts. ## Features to Add ### Reels - `POST /{page-id}/video_reels` endpoint - 9:16 aspect ratio video - Limit: 30 Reels per Page per 24 hours - Requires video URL (publicly accessible) ### Stories - `POST /{page-id}/photo_stories` for image stories - Video stories via Video API - Expire after 24 hours ### Scheduled Posts - `scheduled_publish_time` parameter (Unix timestamp, 10min-6mo in future) - Appears in Meta Business Suite - Can be cancelled before scheduled time ### Draft Posts - `published=false` parameter - Saved for later editing/scheduling in Meta Business Suite ## Implementation Add params support to `FacebookService::publish()`: - `$params['content_type']`: feed (default) / reel / story - `$params['scheduled_at']`: ISO 8601 datetime for scheduling - `$params['draft']`: boolean for draft mode ## Acceptance Criteria - [ ] Reels support when video media provided with reel flag - [ ] Stories support for image and video - [ ] Scheduled posts via `scheduled_publish_time` - [ ] Draft mode via `published=false` - [ ] Graceful fallback to feed post when content type not supported
Sign in to join this conversation.
No labels
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteCross#162