https://github.com/janu-software/facebook-php-sdk
Alternative API client for deprecated Facebook Graph SDK.
https://github.com/janu-software/facebook-php-sdk
facebook facebook-api facebook-graph-api facebook-login php sdk
Last synced: 4 months ago
JSON representation
Alternative API client for deprecated Facebook Graph SDK.
- Host: GitHub
- URL: https://github.com/janu-software/facebook-php-sdk
- Owner: janu-software
- License: other
- Created: 2022-01-06T11:23:29.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-12T14:08:10.000Z (about 1 year ago)
- Last Synced: 2025-11-11T23:55:29.980Z (6 months ago)
- Topics: facebook, facebook-api, facebook-graph-api, facebook-login, php, sdk
- Language: PHP
- Homepage:
- Size: 365 KB
- Stars: 70
- Watchers: 4
- Forks: 21
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Facebook SDK for PHP
[](https://github.com/janu-software/facebook-php-sdk/actions/workflows/composer.yml)
[](https://github.com/janu-software/facebook-php-sdk/actions/workflows/code_style.yml)
[](https://github.com/janu-software/facebook-php-sdk/actions/workflows/phpunit.yml)
[](https://github.com/janu-software/facebook-php-sdk/actions/workflows/static_analysis.yml)
[](https://packagist.org/packages/janu-software/facebook-php-sdk)
[](https://packagist.org/packages/janu-software/facebook-php-sdk)
[](https://packagist.org/packages/janu-software/facebook-php-sdk)
[](https://coveralls.io/github/janu-software/facebook-php-sdk?branch=main)
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](https://getcomposer.org/). 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
| Version | PHP |
|---------|------|
| 0.1 | ^8.0 |
| 0.2 | ^8.1 |
| 0.3 | ^8.1 |
| 0.4 | ^8.3 |
## Usage
Simple GET example of a user's profile.
```php
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' => 'v22.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](docs/).
## Tests
1. [Composer](https://getcomposer.org/) is a prerequisite for running the tests. Install composer globally, then run `composer install` to install required files.
2. Create a test app on [Facebook Developers](https://developers.facebook.com), then create `tests/FacebookTestCredentials.php` from `tests/FacebookTestCredentials.php.dist` and edit it to add your credentials.
3. The tests can be executed by running this command from the root directory:
```bash
$ ./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.
```bash
$ ./vendor/bin/phpunit --exclude-group integration
```
## License
Please see the [license file](https://github.com/janu-software/facebook-php-sdk/blob/main/LICENSE) for more information.
## Security Vulnerabilities
If you have found a security issue, please contact the maintainers directly at [s@janu.software](mailto:s@janu.software).