By Liam McDaid, University of York Students' Union (YUSU)
Please Note this is no longer maintained by YUSU
A wrapper to allow integration with the APIs of the UnionCloud platform operated by NUS.
WARNING: The apis are at Union level and should only be used by the Union. Access to the apis should not be given to any student groups under any circumstances.
- PHP5.5+
- Composer
Add yusu/unioncloud-api-php as a require dependency in your composer.json file:
composer require yusu/unioncloud-api-phpCreate an instance of the api wrapper and tell it which site to use
use UnionCloud\Api;
$api = new Api();
$api->setHost("www.yusu.org");You can inject debug info about the request into the response by passing "include_debug_info" => true in either the constructor
$api = new Api(["include_debug_info" => true]);or
$api->setOptions(["include_debug_info" => true]);You need to authenticate before you are able to make any api calls
$api->authenticate($user_email, $user_password, $app_id, $app_password);$app_id and $app_password can be created via your unions dashboard ( Admin > Setup > Developers )
$user_email and $user_password should be the login details of a valid user for your union that has the permissions to access the apis. Note: This should be a service account. Its best to contact NUS via Zendesk to get setup with these as there are some other settings which need to be enabled for the apis to work.
$api->setAuthToken($auth_token, $expiry_timestamp);Once you have successfully authenticated you are able to make api calls using the wrapper. Please consult the documentation apiary and the methods which this wrapper exposes to make calls. A few examples are given below:
// users
$users = $api->users();
$user = $api->user_search(["id" => "lm638"]);
// events
$events = $api->events();
$event = $api->event_get($event_id);
$api->event_update($event_id, ["event_name" => "New Event Name"]);
// groups
$groups = $api->groups();- Fix issue ca-cert in macOS
- Reduce dependency on php to 5
- Corrected: version of a required dependency in composer.json
- New Project created
- Added: Goutte to handle making the api calls
- Added: All current apis
- Added: Apis throw exceptions when errors are detected
- Added: Option to show debug information about the request (including any pagination info)