37 lines
1.0 KiB
PHP
37 lines
1.0 KiB
PHP
<?php
|
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
$config = require 'config.php';
|
|
|
|
use JVDS\UnifiApiClient\Client;
|
|
use GuzzleHttp\Client as HttpClient;
|
|
use GuzzleHttp\Exception\RequestException;
|
|
|
|
$apiClient = new Client(new HttpClient(['base_uri' => $config['base_uri']]));
|
|
|
|
try {
|
|
|
|
// login to the unifi controller API
|
|
$apiClient->login($config['username'], $config['password']);
|
|
|
|
|
|
// Authorize guest with mac address 01:01:01:01:01:01 for 60 minutes
|
|
// You need a user with full access to the unifi controller for this call!
|
|
$response = $apiClient->authorizeGuest($config['site'], '01:01:01:01:01:01', 60);
|
|
|
|
print_r(json_decode($response->getBody(), true));
|
|
|
|
$apiClient->logout();
|
|
|
|
} catch (RequestException $e) {
|
|
echo $e->getMessage() . PHP_EOL;
|
|
|
|
echo '----- Request ------' . PHP_EOL;
|
|
|
|
echo (string) $e->getRequest()->getBody();
|
|
echo PHP_EOL;
|
|
|
|
echo '----- Response ------' . PHP_EOL;
|
|
echo $e->hasResponse() ? $e->getResponse()->getBody()->getContents() : '- no response -';
|
|
echo PHP_EOL;
|
|
} |