turanct / engagor-api
Clarabridge Engage API 的 PHP 客户端
Requires
- php: ^7.1
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
- phpmd/phpmd: ^2.7.0
- phpunit/phpunit: ^7.5.15
- squizlabs/php_codesniffer: ^3.4.2
README
安装
通过Composer
$ composer require turanct/engagor-api
或手动将 turanct/engagor-api
添加到您的 composer.json
文件中,并运行 composer install
。
使用方法
设置
为此库工作,您需要一个 PSR-7、PSR-17 和 PSR-18 实现。实际上,选择哪个并不重要,但一个简单的开始方法是将其添加到您的 composer.json
文件中,然后运行 composer install
。
"nyholm/psr7": "^1.2.0", "kriswallsmith/buzz": "^1.0.1",
在这种情况下,PSR-7 和 PSR-17 实现由 nyholm/psr7
提供,而 PSR-18 实现由 kriswallsmith/buzz
提供。
身份验证
创建一个 Authentication
实例
$httpRequestFactory = new Nyholm\Psr7\Factory\Psr17Factory(); $httpClient = new Buzz\Client\Curl($httpRequestFactory); $clientId = '<CLIENT ID HERE>'; $clientSecret = '<CLIENT SECRET HERE>'; $authentication = new Engagor\Authentication( $httpClient, $httpRequestFactory, $clientId, $clientSecret );
创建此实例后,您可以使用它来对您的应用程序用户进行 Engage 身份验证
$url = $authentication->step1( [ 'identify', 'accounts_read', 'accounts_write', 'socialprofiles', 'email', ], '<RANDOM STATE HERE>' );
这将返回一个数组,您可以将其重定向给您的用户。插入一个随机状态,并将其保存在用户的会话中,以便您可以在之后验证用户将被重定向到的重定向 URL 是否有效。
该重定向 URL 将看起来像这样
https://example.com/your-redirect-url?state=<RANDOM STATE HERE>&code=<YOUR AUTH CODE>
您应该验证状态与您在上一步骤中调用 step1()
创建重定向 URL 时生成的状态相同。如果检查成功,则请求您的重定向端点的请求中的 code
是您在下一步中需要的
$tokens = $authentication->step2('<YOUR AUTH CODE>');
如果成功,您应该得到一个 Tokens
对象,该对象包含我们可以用来向 Engage API 发起调用的访问令牌和刷新令牌。
向 API 发送已认证请求
现在您已经获取了一个 Tokens
对象,您可以创建一个 Client
实例
$client = new Engagor\Client( $httpClient, $httpRequestFactory, $tokens );
$httpClient
和 $httpRequestFactory
可以与上面提到的 身份验证 步骤中的相同实例。
现在您已经有一个 API $client
实例,您可以使用与它们的名称相同的方法调用实现的 API 方法,例如 /me
将被调用为 me()
,或者您可以使用 request()
方法手动向 API 发送请求。
$me = $client->me();
或
$request = $httpRequestFactory->createRequest( 'GET', 'https://api.engagor.com/me/' ); $response = $client->execute($request);
贡献
有关详细信息,请参阅贡献指南。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅许可文件。