coviu / coviu-sdk
一个简单的库,用于使用 Coviu API。
Requires
- php: >=5.4.0
- rmccue/requests: ^1.6
Requires (Dev)
- phpunit/phpunit: 4.8.*
This package is not auto-updated.
Last update: 2024-09-19 16:51:15 UTC
README
Coviu 提供了一个基于会话的 API,用于创建和限制对 coviu 通话的访问。暴露的核心概念包括
- 会话:在指定时间发生的 coviu 通话,涉及两个或更多方,并具有有限的时间。
- 参与者:可能参与 coviu 通话的用户。
参与者通过在他们的浏览器或移动应用中跟随一个 会话链接 加入通话。该 会话链接 识别参与者,包括他们的姓名、可选的头像以及重要的 角色。因此,为每个加入通话的人分配一个不同的 会话链接,即为他们创建一个独特的 参与者,非常重要。参与者的 角色 确定了该用户是否可以直接访问通话,或者是否需要通过现有参与者 允许进入。
coviu-php-sdk 通过方便的 PHP 库公开了此功能。
有关如何使用 SDK 的示例,请参阅 https://github.com/coviu/coviu-api-php-demo。还可以查看 WordPress 插件 https://github.com/coviu/coviu-video-calls,它提供了更详细的使用说明。
安装
composer require coviu/coviu-sdk
如果您在应用程序中不使用 composer,仍然可以运行上述命令,这将创建一个 vendor
目录。然后将 vendor 目录提交到您的代码库中。您可以从 https://getcomposer.org.cn/download/ 获取 composer
。您可以在 https://packagist.org.cn/packages/coviu/coviu-sdk 查看Coviu的composer包。
如果您想获取包含 vendor 目录的完整 tarball,请联系 support@coviu.com。
快速入门
通过传递您的 API 密钥和密钥密钥来设置 SDK
require_once __DIR__.'/vendor/autoload.php'; use coviu\Api\Coviu; $api_key = 'my_api_key_from_coviu.com'; $api_key_secret = 'my_api_key_secret'; $coviu = new Coviu('api_key', 'key_secret');
为未来安排一个会话。
date_default_timezone_set('GMT'); $session = array( 'session_name' => 'A test session with Dr. Who', 'start_time' => (new \DateTime())->format(\DateTime::ATOM), 'end_time' => (new \DateTime())->modify('+1 hour')->format(\DateTime::ATOM), 'picture' => 'http://www.fillmurray.com/200/300' ); $session = $coviu->sessions->createSession($session); var_dump($session);
示例输出
array(8) { ["team_id"]=> string(36) "bc5f47f1-f990-4d4d-a332-d3aa27ce6b76" ["client_id"]=> string(36) "440ee0f6-f99a-4515-ad15-da67dc29b0fc" ["participants"]=> array(0) { } ["session_id"]=> string(36) "6a157415-55cd-45a4-a82f-cd78b52e67b3" ["session_name"]=> string(27) "A test session with Dr. Who" ["start_time"]=> string(24) "2016-06-18T12:37:59.000Z" ["end_time"]=> string(24) "2016-06-18T13:37:59.000Z" ["picture"]=> string(33) "http://www.fillmurray.com/200/300" }
$coviu->sessions->*
是一组可以运行在 API 上的请求构建函数。
现在可以向会话添加参与者
$host = array( 'display_name' => 'Dr. Who', 'role' => 'host', // or 'guest' 'picture' => 'http://fillmurray.com/200/300', 'state' => 'test-state' ); $participant = $coviu->sessions->addParticipant($session['session_id'], $host); var_dump($participant);
示例输出
array(8) { ["client_id"]=> string(36) "440ee0f6-f99a-4515-ad15-da67dc29b0fc" ["display_name"]=> string(7) "Dr. Who" ["entry_url"]=> string(62) "https://coviu.com/session/af1f3606-dfbf-4728-b3ca-8f099ca9024a" ["participant_id"]=> string(36) "af1f3606-dfbf-4728-b3ca-8f099ca9024a" ["picture"]=> string(29) "http://fillmurray.com/200/300" ["role"]=> string(4) "HOST" ["session_id"]=> string(36) "6de7f062-f6db-4253-93b3-8f45445ce2d9" ["state"]=> string(10) "test-state" }
请注意新创建的参与者的 entry_url
。在 start_time
和 end_time
(会话活跃期间)之间在浏览器或 coviu 移动应用中遵循此 URL,将使参与者加入会话,假设提供的角色和身份。
现在我们可以读取整个会话结构
$sessions = $coviu->sessions->getSessions(); var_dump($sessions); var_dump($coviu->$sessions->getSession($session['session_id']));
示例输出
array(8) { ["team_id"]=> string(36) "bc5f47f1-f990-4d4d-a332-d3aa27ce6b76" ["client_id"]=> string(36) "440ee0f6-f99a-4515-ad15-da67dc29b0fc" ["participants"]=> array(1) { [0]=> array(8) { ["client_id"]=> string(36) "440ee0f6-f99a-4515-ad15-da67dc29b0fc" ["display_name"]=> string(7) "Dr. Who" ["entry_url"]=> string(62) "https://coviu.com/session/15142b66-7e26-4c49-a232-bc4aa1126aff" ["participant_id"]=> string(36) "15142b66-7e26-4c49-a232-bc4aa1126aff" ["picture"]=> string(29) "http://fillmurray.com/200/300" ["role"]=> string(4) "HOST" ["session_id"]=> string(36) "7ec15ff3-87f9-4ec9-9484-6029d5da56a6" ["state"]=> string(10) "test-state" } } ["session_id"]=> string(36) "7ec15ff3-87f9-4ec9-9484-6029d5da56a6" ["session_name"]=> string(27) "A test session with Dr. Who" ["start_time"]=> string(24) "2016-06-19T09:32:26.000Z" ["end_time"]=> string(24) "2016-06-19T10:32:26.000Z" ["picture"]=> string(33) "http://www.fillmurray.com/200/300" }
在 /src/SessionApi.php 提供了完整的 API 文档和 API 源代码,用于 coviu-sdk-api
npm 模块。
OAuth2
Coviu 实现了 OAuth2 授权码流 https://tools.ietf.org/html/rfc6749#section-4.1。Coviu 要求您在 API 团队账户的“应用程序”部分预先注册您的 redirect_url
。一旦用户返回授权码,您可以使用 authorizationCode
通过使用它来恢复访问令牌和刷新令牌。
$client = new Coviu($api_key, $key_secret);
$grant = $client->authorizationCode($code);
// Now create a client that acts on behalf of the user
$client2 = new Coviu($api_key, $key_secret, $grant);
// Get the team the user authorized you to access
$res2 = $client2->user-getAuthorizedTeam();
// Get that user's scheduled sessions
$res = $client2->sessions->getSessions();