granam / facebook-graph-sdk
Facebook SDK for PHP
Requires
- php: ^7.3|^8.0
Requires (Dev)
- ext-json: *
- guzzlehttp/guzzle: >=7.0
- mockery/mockery: >=1.0
- phpunit/phpunit: >=9.1
- rector/rector: ^0.14.6
Suggests
- guzzlehttp/guzzle: Allows for implementation of the Guzzle HTTP client
- paragonie/random_compat: Provides a better CSPRNG option in PHP 5
README
Clone of abandoned https://packagist.org/packages/facebook/graph-sdk It is still working! (10. 2022).
Updated to work with PHP 7.3 - 8.1
Facebook SDK for PHP (v5)
This repository contains the open source PHP SDK that allows you to access the Facebook Platform from your PHP app.
Installation
The Facebook PHP SDK can be installed with Composer. Run this command:
composer require granam/graph-sdk
Please be aware, that there are issues when using the Facebook SDK together with Guzzle 6.x. php-graph-sdk v5.x only works with Guzzle 5.x out of the box. However, there is a workaround to make it work with Guzzle 6.x .
Upgrading to v5.x
Upgrading from v4.x? Facebook PHP SDK v5.x introduced breaking changes. Please read the upgrade guide before upgrading.
Usage
Note: This version of the Facebook SDK for PHP requires PHP 5.4 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 entity. // $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 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. See current repository maintainers.