nickdnk / graph-sdk
与 PHP8 兼容的 Facebook SDK for PHP
7.0.1
2022-09-14 16:25 UTC
Requires
- php: ^7.3 || ^8.0
Requires (Dev)
- guzzlehttp/guzzle: ^6.5.0 | ^7.5.0
- mockery/mockery: ~1.5.1
- phpunit/phpunit: ~9.5
Conflicts
- guzzlehttp/guzzle: <6.0
Replaces
- facebook/graph-sdk: >=5.7.0
README
这是一个为 PHP 7/8+ 设计的不官方 Facebook PHP SDK 版本。它正在维护并针对最新 PHP 版本进行测试。您可以使用此版本替换 Facebook 已弃用的 facebook/graph-sdk
包的 5.x
版本。
需要 PHP 7.3。
此存储库包含开源 PHP SDK,允许您从 PHP 应用程序访问 Facebook 平台。
安装
可以使用 Composer 安装 Facebook PHP SDK。运行此命令
composer require nickdnk/graph-sdk
默认情况下,请求将通过 Facebook\HttpClients\FacebookHttpClientInterface
进行。默认实现取决于可用的 PHP 扩展/包。按优先级顺序
- 包
guzzlehttp/guzzle
(版本 6 或 7):Facebook\HttpClients\FacebookGuzzleHttpClient
- ext-curl:
Facebook\HttpClients\FacebookCurlHttpClient
- 后备:
Facebook\HttpClients\FacebookStreamHttpClient
使用方法
用户个人资料简单 GET 示例。
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();
完整文档、安装说明和示例可在 此处 获得。
测试
- 运行测试之前,需要 Composer。全局安装 composer,然后运行
composer install
以安装所需的文件。 - 在 Facebook Developers 上创建测试应用程序,然后从
tests/FacebookTestCredentials.php.dist
创建tests/FacebookTestCredentials.php
并编辑它以添加您的凭证。 - 从根目录运行此命令可执行测试
$ ./vendor/bin/phpunit
默认情况下,测试将通过 Graph API 发送实时 HTTP 请求。如果您没有互联网连接,可以通过排除 integration
组来跳过这些测试。
$ ./vendor/bin/phpunit --exclude-group integration
许可证
有关更多信息,请参阅 许可证文件。