ripmav/citrix

此软件包已被弃用且不再维护。未建议替代软件包。

围绕 Citrix - GoToMeeting 和 GoToWebinar API 的 PHP 封装。从 teodortalov/citrix 分支。

维护者

详细信息

github.com/ripmav/citrix

源代码

1.2 2016-05-04 15:23 UTC

This package is not auto-updated.

Last update: 2020-12-26 07:50:14 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的更多内容。