Easy creation of Slack notifications about posts published on subscribed Facebook's fanpages.
Add the following line to the require
section of your Laravel webapp's composer.json
file:
"require": {
"highsolutions/laravel-poster": "1.*"
}
Run composer update
to install the package.
This package uses Laravel 5.5 Package Auto-Discovery.
For previous versions of Laravel, you need to update config/app.php
by adding an entry for the service provider:
'providers' => [
// ...
HighSolutions\Poster\PosterServiceProvider::class,
];
Next, publish all package resources:
php artisan vendor:publish --provider="HighSolutions\Poster\PosterServiceProvider"
This will add to your project:
- migration - database table for storing posts and tokens
- configuration - package configurations
- views - configurable views for token refreshing
Remember to launch migration:
php artisan migrate
Next step is to add cron task via Scheduler (app\Console\Kernel.php
):
protected function schedule(Schedule $schedule)
{
// ...
$schedule->command('poster:fetch')->hourly();
}
Remember to assign cron tasks to artisan.
Setting name | Description | Default value |
---|---|---|
socials.facebook.credentials.app_id | Facebook's app identifier | '' |
socials.facebook.credentials.app_secret | Facebook's app secret | '' |
socials.facebook.api_version | Graph API version | 'v5.0' |
socials.facebook.list | List of Facebook pages | [] |
slack.default_channel | Default channel for notifications | '' |
slack.webhook_url | Slack's webhook url | '' |
Facebook lists are defined like:
<?php
return [
'socials' => [
'facebook' => [
'credentials' => [
// ...
],
'list' => [
'highsolutions' => [
'name' => 'HighSolutions daily',
'channel' => '#general',
],
// ...
],
],
],
// ...
];
You need to provide Facebook's app id and secret. Moreover, you have to define redirect url for your application.
E.g. http://yourdomain.com/laravel-poster/fb_get/obtained
To fetch Facebook page's posts you need Facebook Access Token. Any Facebook user can use his account to store Access Token. It's valid for 2 months.
When Access Token is going to expire, any user has to click on provided link and connect with Facebook via link on website. The same operation is needed for first time.
For now there is no way to make it fully automatic. Thanks to Facebook.
1.3.0
- Support Laravel 7.x and 8.x
1.2.2
- Set up Graph API version
1.2.1
- Common style of hyperlinks
1.2.0
- Styling facebook button according to brandbook
1.1.0
- Support Laravel 6.0
1.0.7
- Debug information about wrong JSON was fired when JSON was valid
1.0.6
- Handle problem when post is share of another post
1.0.5
- Support Package Auto-Discovery
1.0.4
- Fix timezone problems
1.0.3
- Little fixes on readme
- Check if SocialToken->notified_at is null
1.0.0
- Create package
- Slack support
- Facebook posts support
- Not only Facebook fanpages support.
- Not only Slack notifications support.
- Trigger events
- Comments
- Unit tests!
This package is developed by HighSolutions, software house from Poland in love in Laravel.