This package allow to create, update, delete and get posts from facebook page in laravel application
- PHP >=7.2
- Laravel >= 6
You can install the package via composer:
composer require nazmulhasan/laravel-facebook-post
You can publish the configuration file config/facebook.php
optionally by using the following command:
php artisan vendor:publish --provider="NazmulHasan\LaravelFacebookPost\FacebookPostServiceProvider" --tag="config"
Configure .env
file
FACEBOOK_PAGE_ID=
FACEBOOK_ACCESS_TOKEN=
use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;
$response = FacebookPost::getPost();
use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;
$message = 'Message from laravel application';
$response = FacebookPost::storePost($message);
use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;
$message = 'Message from laravel application'; //message is optional
$url = 'Your image url';
$response = FacebookPost::storePostWithPhoto($url, $message);
use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;
$message = 'Message from laravel application';
$post_id = 'Your post id';
$response = FacebookPost::updatePost($post_id, $message);
use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;
$post_id = 'Your post id';
$response = FacebookPost::deletePost($post_id);
array:4 [
"status" => "success"
"status_code" => 200
"message" => "Post created successfully"
"post_id" => "103408372435470_395802394384938"
]
array:3 [
"status" => "fail"
"status_code" => 422
"message" => "Message is required"
]
- You can update only the text of a post. Image is not updatable.
- Multiple image upload is not supported.
- Video upload is not supported
- At first create a business type facebook app. Create app from Facebook Deveoper Panel
- Go to Facebook Graph Api Explorer
- Here you will see three select option:
- Meta App
- User or Page
- Permissions
Meta App
: Here you will see all facebook app that you have created. Select your business type app from the dropdown list.User or Page
: Here you need to select page access token. Then it will redirect you to your facebook page list. Select your preferred page and give necessary permission.Permissions
: Please select the following permission from this permission list
pages_show_list
pages_read_engagement
pages_manage_engagement
pages_manage_posts
pages_read_user_content
-
Finally click on the Generate Access Token button and it will generate temporary access token for one hour.
-
If you want to make this token as long lived, you need to go Access Token Debugger. Insert the access token and click on the
Debug
button. Then it will show token information. Scroll down this page and you will seeExtend Access Token
. Click on this button and it will generate long lived access token.Then copy the access token and use this asFACEBOOK_ACCESS_TOKEN
If you want to generate never expiry access token, you need to follow this step:
- Please open an api testing tool like Postman and send a get request by using this url
https://graph.facebook.com/v19.0/{app-scoped-user-id}/accounts?access_token={long-lived-user-access-token}
. If you want to generate user access token instead of page access token, just select user access token fromUser or Page
section that i have mentioned in step 5. - Extend expiry date of this user access token as like as page access token extend method that i have mentioned in step 8.
- Then debug this
long-lived-user-access-token
and you will getapp-scoped-user-id
from this debug information. - Finally send get request to this url
https://graph.facebook.com/v19.0/{app-scoped-user-id}/accounts?access_token={long-lived-user-access-token}
. Now You will get never expiry page access token from this request and use this access token asFACEBOOK_ACCESS_TOKEN
If you face any issue or bug, please create an issue by using this link https://github.com/Nazmul7989/laravel-facebook-post/issues.
The MIT License (MIT). Please see License File for more information.