janu-software / facebook-php-sdk
Alternative toolkit for Facebook Graph API
Fund package maintenance!
Patreon
revolut.me/stanisp8hg
Installs: 372 849
Dependents: 2
Suggesters: 0
Security: 0
Stars: 65
Watchers: 4
Forks: 19
Open Issues: 0
Requires
- php: >=8.1 <8.5
- guzzlehttp/psr7: ^2.5
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.15
- php-http/httplug: ^2.4
- php-http/message: ^1.14
- psr/http-message: ^2.0
- thecodingmachine/safe: ^2.5
Requires (Dev)
- guzzlehttp/guzzle: ^7.8
- jetbrains/phpstorm-attributes: ^1.0
- php-http/guzzle7-adapter: ^1.0
- phpunit/phpunit: ^10.3
- rector/rector: ^1.1
- stanislav-janu/phpstan: ^1.0
- symfony/deprecation-contracts: ^3.5
README
This repository contains the open source PHP SDK that allows you to access the Facebook Platform from your PHP app. Based on facebookarchive/php-graph-sdk
v6.
Installation
The Facebook PHP SDK can be installed with Composer. Run this command:
composer require janu-software/facebook-php-sdk
You must use some client using php-http/client-implementation
.
For example: Using with Guzzle:
composer require janu-software/facebook-php-sdk guzzlehttp/guzzle php-http/guzzle7-adapter
Compatibility
Usage
Simple GET example of a user's profile.
require_once __DIR__ . '/vendor/autoload.php'; // change path as needed $fb = new \JanuSoftware\Facebook\Facebook([ 'app_id' => '{app-id}', 'app_secret' => '{app-secret}', 'default_graph_version' => 'v19.0', //'default_access_token' => '{access-token}', // optional ]); try { // If you provided a 'default_access_token', the '{access-token}' is optional. $response = $fb->get('/me', '{access-token}'); } catch(\JanuSoftware\Facebook\Exception\ResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch(\JanuSoftware\Facebook\Exception\SDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } $me = $response->getGraphNode(); echo 'Logged in as ' . $me->getField('name');
Complete documentation, installation instructions, and examples are available here.
Tests
- Composer is a prerequisite for running the tests. Install composer globally, then run
composer install
to install required files. - Create a test app on Facebook Developers, then create
tests/FacebookTestCredentials.php
fromtests/FacebookTestCredentials.php.dist
and 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
License
Please see the license file for more information.
Security Vulnerabilities
If you have found a security issue, please contact the maintainers directly at s@janu.software.