teodortalov/citrix

围绕 Citrix - GoToMeeting 和 GoToWebinar API 的 PHP 封装。由 teodortalov/citrix 衍生而来。

1.2 2016-05-04 15:23 UTC

This package is auto-updated.

Last update: 2024-08-28 14:35:48 UTC


README

通过 Composer 安装

require "teodortalov/citrix: *"

认证并开始使用只需15秒

您只需要使用 Citrix API 进行认证的消费者密钥,您可以通过在 Citrix 开发者中心 注册来获取。注册并添加您的应用程序后,您将获得 消费者密钥消费者密钥回调 URL。您需要 消费者密钥 才能使用此库使您的应用程序通过 Citrix 进行认证。

直接认证

除了 消费者密钥 外,对于 直接认证,您还需要您的 用户名密码,这是您用于登录 GoToWebinar.com 的账户。

您可以这样认证到 Citrix,以及您的 GoToWebinar 账户

$client = new \Citrix\Authentication\Direct('CONSUMER_KEY');
$client->auth('USERNAME', 'PASSWORD'); 

通常,您最需要的是 access_tokenorganizer_key。您可以这样获取它们

$client->getAccessToken(); //returns your access token
$client->getOrganizerKey(); //returns the organizer key

代码将为您处理所有认证事宜,因此您无需真正担心这一点。

获取即将举行的网络研讨会

为了获取所有即将举行的网络研讨会,您必须这样做

$goToWebinar = new \Citrix\GoToWebinar($client); //@see $client definition above 
$webinars = $goToWebinar->getUpcoming();
var_dump($webinars); //this gives you all upcoming webinars

获取过去的网络研讨会

为了获取所有过去的网络研讨会,您必须这样做

$goToWebinar = new \Citrix\GoToWebinar($client); //@see $client definition above 
$webinars = $goToWebinar->getPast();
var_dump($webinars); //this gives you all upcoming webinars

如果您想获取网络研讨会的注册/加入 URL,您可以这样做

$webinar = reset($webinars);
$webinar->getRegistrationUrl(); //https://attendee.gotowebinar.com/register/456905497806

为网络研讨会注册用户

您可以为网络研讨会轻松注册某人。基本上,您需要做的只是这样

$data = array('email' => 'joe.smith@gmail.com', 'firstName' => 'Joe', 'lastName' => 'Smith');
$consumer = new \Citrix\Entity\Consumer($client);
$consumer->setData($data)->populate();

//register a user for the very first upcoming webinar, @see Getting upcoming webinars
$webinar = reset($webinars);
$webinar->registerConsumer($consumer);

如上所述,$client 您可以从 15秒内认证并开始使用 部分,而 $webinar 您可以从 获取即将举行的网络研讨会 部分。

或者,您可以通过将 webinarKey 和用户数据直接提供给 GoToWebinar 类来为网络研讨会注册用户

$webinarKey = 123123;
$registrantData = array('email' => 'joe.smith@gmail.com', 'firstName' => 'Joe', 'lastName' => 'Smith');

$goToWebinar = new \Citrix\GoToWebinar($client); //@see $client definition above
$goToWebinar->register($webinarKey, $registrantData);

错误处理

代码可以处理错误,但它会静默失败。您可以这样做检查错误

$data = array('email' => 'joe.smith@gmail.com', 'firstName' => 'Joe', 'lastName' => 'Smith');
$consumer = new \Citrix\Entity\Consumer($client);
$consumer->setData($data)->populate();

//register a user for the very first upcoming webinar, @see Getting upcoming webinars
$webinar = reset($webinars);
$registration = $webinar->registerConsumer($consumer);

if($registration->hasErrors()){
   //get the first error that occurred and use it as the exception message
   throw new \Exception($registration->getError());
}
   
//no errors, continue...
die('Registration was successful.');

您也可以这样显示/获取所有错误

$registration->getErrors();

您还可以这样推送新的错误

$registration->addError('Something went wrong!!!');

错误处理应在所有地方可用,因此您始终可以调用 hasErrors() 并检查错误。

贡献 - 分支,分支,分支

如果您想帮助维护此项目,或者如果您对库的设计或实现有任何问题或评论,我将很高兴听到您的意见。

即将推出什么?

更多内容,首先是文档,以便您的 IDE 能够工作。单元测试,以及更多来自 Citrix API 的内容。