yusu/unioncloud-api-php

This package is abandoned and no longer maintained. No replacement package was suggested.
There is no license information available for the latest version (v0.2.0) of this package.

A wrapper to allow integration with the APIs of the UnionCloud platform operated by NUS.

v0.2.0 2017-10-12 18:51 UTC

This package is not auto-updated.

Last update: 2022-10-19 11:08:03 UTC


README

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.

Requirements

Installation

Add yusu/unioncloud-api-php as a require dependency in your composer.json file:

composer require yusu/unioncloud-api-php

Usage

Create 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]);

Authenticating

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);

Making API calls

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();

Change Log

[0.2.0] 12th October 2017

  • Fix issue ca-cert in macOS
  • Reduce dependency on php to 5

[0.1.0] 25th March 2017

  • Corrected: version of a required dependency in composer.json

[0.1.0] 25th March 2017

  • 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)