turanct/engagor-api

Clarabridge Engage API 的 PHP 客户端

v0.0.5 2019-11-17 22:44 UTC

This package is auto-updated.

Last update: 2024-09-18 10:33:27 UTC


README

Build Status

安装

通过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)。有关更多信息,请参阅许可文件