Skip to content

feat(publish): Instagram Reels + Facebook publishing (Meta Graph API)#42

Merged
Stanley-blik merged 1 commit into
mainfrom
feat/instagram-facebook-publishing
Jul 1, 2026
Merged

feat(publish): Instagram Reels + Facebook publishing (Meta Graph API)#42
Stanley-blik merged 1 commit into
mainfrom
feat/instagram-facebook-publishing

Conversation

@Stanley-blik

Copy link
Copy Markdown
Contributor

What

Implements the previously-stubbed Instagram publisher and adds Facebook — both via the Meta Graph API, sharing one auth.

  • Config [publish]: meta_page_access_token, facebook_page_id, instagram_business_account_id, meta_graph_version (one long-lived Page token + a linked IG Business account).
  • Instagram Reels: create REELS media container (by public video_url) → poll status_code until FINISHED → media_publish. Honest skip when no public URL is provided (the Graph API ingests Reels by URL, not binary).
  • Facebook Page: POST /{page-id}/videos by file_url when a public URL exists, else a direct binary upload of the local file.
  • Publisher.upload() gains an optional video_url (backward compatible; the pipeline call is unchanged).

Tests

tests/test_publisher.py: IG publish path (container→poll→publish), IG honest-skip without a URL and when unconfigured, FB publish-by-file_url, FB skip when unconfigured. Full suite 43 passed, ruff clean.

Notes

  • Both platforms need Meta App Review for the publishing permissions in production; the code is review-ready.
  • README roadmap + config.example.toml updated.

Implements the previously-stubbed Instagram publisher and adds Facebook, sharing
one Meta Graph auth ([publish] meta_page_access_token + facebook_page_id +
instagram_business_account_id). Instagram: REELS container -> poll -> publish
(needs a public video_url; honest skip without one). Facebook: Page /videos by
file_url or direct upload. upload() gains an optional video_url. Tests cover
publish paths + honest skips when unconfigured / no URL. README roadmap + config
example updated.
@Stanley-blik Stanley-blik merged commit 0342a08 into main Jul 1, 2026
1 check passed
@Stanley-blik Stanley-blik deleted the feat/instagram-facebook-publishing branch July 1, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant