Add Facebook strategy for posting to Facebook via Graph API #118
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a comprehensive Facebook strategy for the crosspost project, enabling users to post messages and images to Facebook alongside other supported social media platforms.
Features Implemented
✅ Text Posting: Posts messages to Facebook feed via Graph API v18.0
✅ Image Support: Uploads and posts images with captions using the photos endpoint
✅ Error Handling: Comprehensive error handling for API failures, rate limits, and authentication issues
✅ Abort Support: Cancellation support via AbortSignal for long-running operations
✅ URL Generation: Extracts post URLs from API responses for linking back to posts
✅ Input Validation: Follows existing patterns for validating images and options
✅ TypeScript Support: Full type definitions and seamless compilation
Usage Example
Authentication Requirements
To use this strategy, you need:
pages_manage_posts- For posting to Facebook Pagespublish_to_groups- For posting to Facebook GroupsAPI Integration Details
https://graph.facebook.com/v18.0/me/feedfor text postshttps://graph.facebook.com/v18.0/me/photosfor posts with imagesTesting
Added comprehensive test suite with 21 test cases covering:
All existing tests continue to pass, ensuring no regressions.
Documentation
The strategy includes detailed JSDoc comments explaining:
Fixes #115.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.