Citrix’s GoToWebinar PHP Library

Update: My “Citrix GoToWebinar PHP Library” was considered notable by www.phpclasses.org

Citrix’s GoToWebinar is revolutionary product for online marketing. It has wonderful email management system and custom tempting system for the front end. You can find out more about http://www.gotomeeting.com/fec/webinar. Citrix Online also has multiple of APIs for GoToWebinar. You can see all the APIs on https://developer.citrixonline.com/api-overview/gotowebinar-rest-api. Citrix Online supports OAuth 2.0 for authentication of user accounts and authorization of applications. According to https://developer.citrixonline.com/forum/resolved-enhancement-oauth-token-expiration-time-extended the access token last one year!!! The disappointing thing is there is no official library. So I decided to write one myself.

You can download Citrix’s GoToWebinar PHP Library from GitHub.

The GoToWebinar PHP Library is typically used to perform operations like create registrant of webinar, get the login url, list webinars etc. the PHP Library greatly simplifies the process of authentication and authorizing users for your app. This lib needs JSON and CURL PHP extension.

You will need an API key to initialize the Library, which you can obtain from https://developer.citrixonline.com/sdm/myprofile. Apply for Developer Key on https://developer.citrixonline.com/sdm/set_app/Production. Be sure to check GoToWebinar as Product API. Then you will see the API key on https://developer.citrixonline.com/sdm/myprofile. If you are not registered, first register yourself on here https://developer.citrixonline.com/user/register. Then Apply for Developer Key. Be sure to check GoToWebinar as Product API. Then you will see the API key on https://developer.citrixonline.com/sdm/myprofile.

Installing and Initializing

To install the PHP Library, extract the downloaded files and copy the citrix.php from the directory to a directory on the server where you will host your app. Then, just include citrix.php wherever you want to use the PHP Library.

You will need an app id to initialize the Library, which you can obtain from your developer profile https://developer.citrixonline.com/sdm/myprofile.

First include the citrix.php in you code. You use the Library by instantiating a new Facebook object with, at a minimum, your app id and app secret:

include "citrix.php";

$citrix = new Citrix('API Key');
$organizer_key = $citrix->get_organizer_key();

Usage

To get current Organizer Key

$organizer_key = $citrix->get_organizer_key();

If Organizer Key is empty, create login url. If not parameter is passed then redirect url will be the current url. If you want to redirect to another url, pass the url on the function. But remember the redirect url must be on the same domain that you created the app for.

if(!$organizer_key)
{
	$url = $citrix->auth_citrixonline();
	echo "<script type='text/javascript'>top.location.href = '$url';</script>";
	exit;
}

To Get access token

$url = $citrix->get_access_token();

I will suggest to save the user’s access token and organizer key in Database. So that user does not have to authorize your app every time they user you app/website.

To load access token and organizer key

$citrix->set_organizer_key('organizer_key');
$citrix->set_access_token('access_token');

Get list of webinars

$webinars = $citrix->citrixonline_get_list_of_webinars() ;

If you want to get previous webinars along with future webinars pass 1 as parmeter ex citrixonline_get_list_of_webinars(1).

To create registrant of a webinar – you have to provide webinar id, first name, last name and email.

try
{
	$response = $citrix->citrixonline_create_registrant_of_webinar('webinar id', $data = array('first_name' => 'First Name', 'last_name' => 'Lastnmae', 'email'=>'email@email.com')) ;
	$citrix->pr($response);
}catch (Exception $e) {	
	$citrix->pr($e->getMessage());
}

To get registrants of a webinar

try
{
	$webinars = $citrix->get_registrants_of_webinars('webinar id') ;
	$citrix->pr($webinars);
}catch (Exception $e) {	
	$citrix->pr($e->getMessage());
}

$citrix->pr() is Print_r convenience function. I have created two example files – login.php and api example.php. login.php shows you how to the lib to authorize user with your app. example.php show all API calls.

About Zakir Hyder

This entry was written by .

03. November 2012 by Zakir Hyder
Categories: Library, PHP | Tags: , , , , | Comments

Comments

  1. [...] Citrix’s GoToWebinar PHP Library Citrix’s GoToWebinar is revolutionary product for online marketing. It has wonderful email management system and custom tempting system for the front end. You can find out more about http://www.gotomeeting.com/fec/webinar. Citrix Online also has multiple of APIs for GoToWebinar. You can see all the APIs on https://developer.citrixonline.com/api-overview/gotowebinar-rest-api. Citrix Online supports OAuth 2.0 for authentication of user [...] [...]