test.php
The snippet can be accessed without any authentication.
Authored by
Reiter, Christoph
test
test.php 2.93 KiB
<?php
declare(strict_types=1);
namespace App;
include_once 'vendor/autoload.php';
use GuzzleHttp\Client;
use League\Uri\UriTemplate;
$BASE_URI = 'https://qline.tugraz.at/QSYSTEM_TUG/';
$CLIENT_ID = "mobility_online_id";
$CLIENT_SECRET = "";
//---------------------------------------------------------
function getToken() {
global $CLIENT_ID, $CLIENT_SECRET, $BASE_URI;
$client = new Client(['base_uri' => $BASE_URI]);
$response = $client->post('wbOAuth2.token', [
'form_params' => [
'client_id' => $CLIENT_ID,
'client_secret' => $CLIENT_SECRET,
'grant_type' => 'client_credentials',
],
]);
$result = json_decode((String)$response->getBody(), true, 512, JSON_THROW_ON_ERROR);
return $result['access_token'];
}
//---------------------------------------------------------
function dumpAllCards() {
global $BASE_URI;
$filters = [];
//$filters[] = 'IDENT_NR_OBFUSCATED-eq=5E5332FCA667E1D7';
$uriTemplate = new UriTemplate('pl/rest/brm.pm.extension.ucardfoto/{?%24filter,%24format,%24ctx,%24top}');
$uri = (string) $uriTemplate->expand([
'%24filter' => implode(';', $filters),
'%24format' => 'json',
'%24ctx' => 'lang=en',
'%24top' => '-1',
]);
$headers = [
'Authorization' => 'Bearer '.getToken(),
'Accept' => 'application/json',
];
$client = new Client(['base_uri' => $BASE_URI]);
$response = $client->get($uri, ['headers' => $headers]);
$json = json_decode((string)$response->getBody(), true, 512, JSON_THROW_ON_ERROR);
foreach ($json['resource'] as $res) {
$content = $res['content'];
var_dump($content);
}
var_dump('Count: '.count($json['resource']));
}
//---------------------------------------------------------
function lookupPerson() {
global $BASE_URI;
$filters = [];
$filters[] = 'VORNAME-eq=Christoph';
$filters[] = 'NACHNAME-eq=Reiter';
//$filters[] = 'NR_OBFUSCATED-eq=5E5332FCA667E1D7';
//$filters[] = 'EMAIL_ADRESSE_1-eq=Reiter';
//$filters[] = 'MATRIKELNUMMER-eq=Reiter';
//$filters[] = 'ST_PERSON_NR-eq=Reiter';
$uriTemplate = new UriTemplate('pl/rest/slc.v0.studierendendaten.student_ucRest/{?%24filter,%24format,%24ctx,%24top}');
$uri = (string) $uriTemplate->expand([
'%24filter' => implode(';', $filters),
'%24format' => 'json',
'%24ctx' => 'lang=en',
'%24top' => '-1',
]);
$headers = [
'Authorization' => 'Bearer '.getToken(),
'Accept' => 'application/json',
];
$client = new Client(['base_uri' => $BASE_URI]);
$response = $client->get($uri, ['headers' => $headers]);
$json = json_decode((string)$response->getBody(), true, 512, JSON_THROW_ON_ERROR);
foreach ($json['resource'] as $res) {
$content = $res['content'];
var_dump($content);
}
var_dump('Count: '.count($json['resource']));
}
//dumpAllCards();
lookupPerson();
Please register or sign in to comment