nickdnk/graph-sdk

与 PHP8 兼容的 Facebook SDK for PHP

7.0.1 2022-09-14 16:25 UTC

This package is auto-updated.

Last update: 2024-08-30 01:34:17 UTC


README

Build Status Latest Stable Version Downloads

这是一个为 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 扩展/包。按优先级顺序

  1. guzzlehttp/guzzle(版本 6 或 7):Facebook\HttpClients\FacebookGuzzleHttpClient
  2. ext-curl:Facebook\HttpClients\FacebookCurlHttpClient
  3. 后备: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();

完整文档、安装说明和示例可在 此处 获得。

测试

  1. 运行测试之前,需要 Composer。全局安装 composer,然后运行 composer install 以安装所需的文件。
  2. Facebook Developers 上创建测试应用程序,然后从 tests/FacebookTestCredentials.php.dist 创建 tests/FacebookTestCredentials.php 并编辑它以添加您的凭证。
  3. 从根目录运行此命令可执行测试
$ ./vendor/bin/phpunit

默认情况下,测试将通过 Graph API 发送实时 HTTP 请求。如果您没有互联网连接,可以通过排除 integration 组来跳过这些测试。

$ ./vendor/bin/phpunit --exclude-group integration

许可证

有关更多信息,请参阅 许可证文件