abdulbaquee / facebook-graph-sdk
一个用于轻松与Facebook Graph API交互的PHP SDK。
v1.0.0
2024-08-26 12:45 UTC
Requires
- php: >=7.4
- ext-json: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- mockery/mockery: ^1.4
- phpunit/phpunit: ^9.5
README
这是一个用于与Facebook Graph API无缝交互的PHP SDK。它提供了一种直观的接口,用于访问用户资料、页面、广告等。非常适合开发者,它简化了认证、数据处理和API请求,使PHP项目的Facebook集成变得简单。
Facebook Graph SDK的简化版
版本:1.0.0
作者:abdulbaquee
非官方Facebook Graph SDK的使用
此应用程序需要Google My Business API v4.0
1. 安装
首先,通过Composer安装SDK
composer require abdulbaquee/facebook-graph-sdk
2. 基础设置
首先包含自动加载文件并初始化SDK
require 'vendor/autoload.php';
use Facebook\GraphSDK\OAuth;
use Facebook\GraphSDK\BaseClient;
$oauth = new OAuth('your-app-id', 'your-app-secret', 'your-redirect-uri', 'graph-version');
3. 认证
将用户重定向到Facebook的登录页面以获取授权码
$loginUrl = $oauth->getLoginUrl(['email', 'public_profile']);
header('Location: ' . $loginUrl);
exit;
用户授权后,处理回调以获取访问令牌
if (isset($_GET['code'])) {
$accessToken = $oauth->getAccessTokenFromCode($_GET['code']);
echo 'Access Token: ' . $accessToken;
}
4. 发送API请求
使用BaseClient向Facebook Graph API发送请求
$client = new BaseClient($accessToken);
$response = $client->get('/me?fields=id,name,email');
$user = $response->getBody();
echo 'ID: ' . $user['id'];
echo 'Name: ' . $user['name'];
echo 'Email: ' . $user['email'];
5. 批量请求
在单个调用中发送多个请求
$batch = [
$client->createRequest('GET', '/me?fields=id,name'),
$client->createRequest('GET', '/me/friends'),
];
$batchResponse = $client->sendBatchRequest($batch);
foreach ($batchResponse->getResponses() as $response) {
print_r($response->getBody());
}
6. 错误处理
使用异常优雅地处理错误
try {
$response = $client->get('/me?fields=id,name');
} catch (FacebookSDKException $e) {
echo 'Error: ' . $e->getMessage();
}
要求
要使用PHP Facebook Graph SDK,请确保您的环境满足以下要求
PHP版本
:PHP 7.4或更高版本Composer
:已安装用于依赖关系管理cURL扩展
:在您的PHP环境中启用SSL/TLS
:为安全API通信启用Facebook应用
:您必须有一个有效的App ID和应用密钥的Facebook应用
重要链接
- Facebook开发者文档:[https://developers.facebook.com/docs/graph-api]
- Facebook应用仪表板:[https://developers.facebook.com/apps]
- Composer安装:[https://getcomposer.org.cn/download/]
- PHP cURL扩展:[https://php.ac.cn/manual/en/book.curl.php]
- GitHub仓库:[https://github.com/abdulbaquee/facebook-graph-sdk]