helixdigital-io / facebook-php-graph-sdk
Facebook SDK for PHP
                                    Fund package maintenance!
                                                                            
                                                                                                                                        joelbutcher
                                                                                    
                                                                            
                                                                                                                                        paypal.me/joelbutcher
                                                                                    
                                                                
Installs: 5 379
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1 964
pkg:composer/helixdigital-io/facebook-php-graph-sdk
Requires
- php: ^7.3 || ^8.0
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.0
- php-http/httplug: ^2.2.0
- php-http/message: ^1.11.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0|^2.0
Requires (Dev)
- guzzlehttp/psr7: ^2.0
- mockery/mockery: ^1.0
- php-http/guzzle7-adapter: ^1.0
- phpunit/phpunit: ^9.3
README
This repository contains the open source PHP SDK that allows you to access the Facebook Platform from your PHP app. It is modified to allow compatibility, view the previous SDK version here
Installation
The Facebook PHP SDK can be installed with Composer. Run this command:
composer require joelbutcher/facebook-graph-sdk
Usage
Note: This version of the Facebook SDK for PHP requires PHP 8.0 or greater.
Simple GET example of a user's profile.
require_once __DIR__ . '/vendor/autoload.php'; // change path as needed $fb = new \Facebook\Facebook([ 'app_id' => '{app-id}', 'app_secret' => '{app-secret}', 'default_graph_version' => 'v2.10', //'default_access_token' => '{access-token}', // optional ]); // Use one of the helper classes to get a Facebook\Authentication\AccessToken instance. // $helper = $fb->getRedirectLoginHelper(); // $helper = $fb->getJavaScriptHelper(); // $helper = $fb->getCanvasHelper(); // $helper = $fb->getPageTabHelper(); try { // Get the \Facebook\GraphNodes\GraphUser object for the current user. // If you provided a 'default_access_token', the '{access-token}' is optional. $response = $fb->get('/me', '{access-token}'); } catch(\Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch(\Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } $me = $response->getGraphUser(); echo 'Logged in as ' . $me->getName();
Complete documentation, installation instructions, and examples are available here.
Tests
- Composer is a prerequisite for running the tests. Install composer globally, then run composer installto install required files.
- Create a test app on Facebook Developers, then create tests/FacebookTestCredentials.phpfromtests/FacebookTestCredentials.php.distand edit it to add your credentials.
- The tests can be executed by running this command from the root directory:
$ ./vendor/bin/phpunit
By default the tests will send live HTTP requests to the Graph API. If you are without an internet connection you can skip these tests by excluding the integration group.
$ ./vendor/bin/phpunit --exclude-group integration
Contributing
For us to accept contributions you will have to first have signed the Contributor License Agreement. Please see CONTRIBUTING for details.
License
Please see the license file for more information.
Security Vulnerabilities
If you have found a security issue, please contact the maintainers directly at joel@joelbutcher.co.uk.