This package makes it easy to post to Facebook using Laravel notification channels.
- Installation
- Setting up the Facebook posts service
- Usage
- Changelog
- Testing
- Security
- Contributing
- Credits
- License
You can install this package via Composer:
composer require laravel-notification-channels/facebook-poster
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'),
],
Follow Laravel's documentation to add the channel to your Notification class.
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!');
}
}
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');
}
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',
];
}
Please see CHANGELOG for more information what has changed recently.
$ composer test
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.