pyjcoder / php-graph-sdk
针对 PHP 8.1 修改的 Facebook SDK for PHP
5.8.1
2023-02-07 12:17 UTC
Requires
- php: ^8.0
Requires (Dev)
- guzzlehttp/guzzle: ~5.0
- mockery/mockery: ~0.8
- phpunit/phpunit: ~4.0
Suggests
- guzzlehttp/guzzle: Allows for implementation of the Guzzle HTTP client
- paragonie/random_compat: Provides a better CSPRNG option in PHP 5
README
PHP 8.1 兼容的 Facebook SDK v5 修改版本。
此存储库包含一个开源的 PHP SDK,允许您从您的 PHP 应用程序访问 Facebook 平台。
安装
Facebook PHP SDK 可以使用 Composer 安装。运行此命令
composer require facebook/graph-sdk
请注意,在使用 Facebook SDK 与 Guzzle 6.x 一起时存在问题。php-graph-sdk v5.x 默认情况下只能与 Guzzle 5.x 一起使用。然而,存在一种解决方案使其与 Guzzle 6.x 一起工作。
升级到 v5.x
从 v4.x 升级?Facebook PHP SDK v5.x 引入了破坏性更改。在升级之前,请阅读升级指南。
用法
注意:此版本的 Facebook SDK for PHP 需要 PHP 5.4 或更高版本。
用户个人资料简单 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
贡献
为了使我们能够接受贡献,您必须首先签署贡献者许可协议。有关详细信息,请参阅CONTRIBUTING。
许可
有关更多信息,请参阅许可文件。
安全漏洞
如果您发现了一个安全问题,请直接联系维护者me@sammyk.me。