laravel-notification-channels / facebook-poster
Use notification to create posts on Facebook
Installs: 81 744
Dependents: 1
Suggesters: 0
Security: 0
Stars: 137
Watchers: 13
Forks: 28
Open Issues: 1
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.2
- illuminate/notifications: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^1.3.3
- phpunit/phpunit: ^10.5.0
README
This package makes it easy to post to Facebook using Laravel notification channels.
Contents
- Installation
- Setting up the Facebook posts service
- Usage
- Changelog
- Testing
- Security
- Contributing
- Credits
- License
Installation
You can install this package via Composer:
composer require laravel-notification-channels/facebook-poster
Configuration
You'll need to get the Facebook Page ID as well as a page access token with the pages_read_engagement
and pages_manage_post
permissions. You will need to go through App Review in order to use these permissions. Then, add the configuration to your config/services.php
file:
... 'facebook_poster' => [ 'page_id' => env('FACEBOOK_PAGE_ID'), 'access_token' => env('FACEBOOK_ACCESS_TOKEN'), ],
Usage
Follow Laravel's documentation to add the channel to your Notification class.
Publish Facebook post
use NotificationChannels\FacebookPoster\FacebookPosterChannel; use NotificationChannels\FacebookPoster\FacebookPosterPost; class NewsWasPublished extends Notification { /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array */ public function via($notifiable) { return [FacebookPosterChannel::class]; } /** * Get the Facebook post representation of the notification. * * @param mixed $notifiable. * @return \NotificationChannels\FacebookPoster\FacebookPosterPost */ public function toFacebookPoster($notifiable) { return new FacebookPosterPost('Laravel notifications are awesome!'); } }
Publish Facebook post with link
It is possible to publish link with your post too. You just have to pass the URL to the withLink
method.
public function toFacebookPoster($notifiable) { return (new FacebookPosterPost('Laravel notifications are awesome!')) ->withLink('https://laravel.com'); }
Publish Facebook post with custom configuration
You can implement routeNotificationForFacebookPoster()
on your notifiable class in order to provide custom configuration.
public function routeNotificationForFacebookPoster(): array { return [ 'page_id' => 'customPageId', 'access_token' => 'customAccessToken', ]; }
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.