granam/facebook-graph-sdk

6.0.0 2022-10-24 20:18 UTC

This package is auto-updated.

Last update: 2024-08-25 00:03:06 UTC


README

已废弃的https://packagist.org.cn/packages/facebook/graph-sdk的克隆。它仍然在正常工作!(2022年10月)。

更新以支持PHP 7.3 - 8.1

PHP Facebook SDK(v5)

Build Status Scrutinizer Code Quality Latest Stable Version

此仓库包含一个开源PHP SDK,允许您从您的PHP应用程序访问Facebook平台。

安装

可以使用Composer安装Facebook PHP SDK。运行此命令

composer require granam/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();

完整的文档、安装说明和示例可以在这里找到。

测试

  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

许可证

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

安全漏洞

如果您发现了一个安全漏洞,请直接联系维护者。查看当前存储库维护者。