Historique de la page
...
language | fr |
---|
Installation
Le client PHP s'installe pour le moment en récupérant une archive contenant le client, disponible à l'URL suivante : https://pkg.bluemind.net/pkg/<numéro technique de BM>/clients/
Utilisation
Authentification
Le client s'initialise avec la classe BMClient :
Bloc de code | ||
---|---|---|
| ||
<?php
require 'BM/AuthenticationClient.php';
require 'BM/DomainsClient.php';
$url="https://external-url";
$token="admin";
$authClient = new BM\AuthenticationClient($url, NULL);
$loginResponse = $authClient->login('admin0@global.virt', $token, 'bm-php-client');
echo "Login result : ".$loginResponse->status;
?> |
url définie l'url d'accès au serveur BlueMind.
token correspond au mot de passe ou token de l'admin0, dans cet exemple on utilise le admin0 mais il est possible de s'authentifier avec n'importe quel utilisateur.. Il est également possible de s'authentifier en tant qu'utilisateur avec :
Bloc de code | ||
---|---|---|
| ||
<?php
require 'BM/AuthenticationClient.php';
require 'BM/DomainsClient.php';
$url="https://external-url";
$token="admin";
$authClient = new BM\AuthenticationClient($url, NULL);
$loginResponse = $authClient->login('admin0@global.virt', $token, 'bm-php-client');
print "Login result : ".$loginResponse->status;
$authClient = new BM\AuthenticationClient($url, $loginResponse->authKey);
$token = $authClient->su("user@local.lan");
print "sudo result : ".$token->status
?> |
A noter qu'il est aussi possible d'utiliser la clé d'API d'un utilisateur à la place de son login.
Lister les domaines
Bloc de code | ||
---|---|---|
| ||
<?php
require 'BM/AuthenticationClient.php';
require 'BM/DomainsClient.php';
$url="https://external-url";
$token="admin";
$authClient = new BM\AuthenticationClient($url, NULL);
$loginResponse = $authClient->login('admin0@global.virt', $token, 'bm-php-client');
print "Login result : " + $loginResponse->status;
$domainClient = new BM\DomainsClient($url, $loginResponse->authKey);
$domains = $domainClient->all();
#var_dump($domains);
foreach ($domains as $domain)
{
print $domain->value->name."\n";
}
?> |
Lister les évènements
Bloc de code | ||
---|---|---|
| ||
<?php
require 'BM/AuthenticationClient.php';
require 'BM/DomainsClient.php';
require 'BM/UserClient.php';
require 'BM/CalendarClient.php';
require 'BM/ContainersClient.php';
require 'BM/ContainerQuery.php';
// BEGIN CONF
$url="https://external-url";
$token="admin";
$user="user@local.lan";
$domain="local.lan";
// END CONF
$authClient = new BM\AuthenticationClient($url, NULL);
$loginResponse = $authClient->login('admin0@global.virt', $token, 'bm-php-client');
//var_dump($loginResponse);
print "Login result : " + $loginResponse->status;
$userClient = New BM\UserClient($url, $loginResponse->authKey, $domain);
$userValue = $userClient->byEmail($user);
$containersClient = New BM\ContainersClient($url, $loginResponse->authKey);
$query = New BM\ContainerQuery();
$query->owner = $userValue->uid;
$query->type = "calendar";
$containers = $containersClient->allForUser($domain, $userValue->uid, $query);
foreach ($containers as $container)
{
print "calendar : ".$container->name. " uid : ".$container->uid."\n";
$calendarClient = New BM\CalendarClient($url, $loginResponse->authKey, $container->uid);
foreach ($calendarClient->list_()->values as $event)
{
print "Event : ".$event->value->main->summary."\n";
}
}
?> |
Les examples sont disponibles sur notre git : https://forge.bluemind.net/stash/projects/BA/repos/bluemind-samples/browse/php-api-examples
FAQ
Problèmes de certificat
Si vous utilisez un certificat non reconnu, il faut modifier la valeur de CURLOPT_SSL_VERIFYPEER à FALSE dans le fichier BM/GlobalEnv
...
language | de |
---|
Installation
Der PHP-Client wird derzeit durch den Abruf eines Archivs installiert, das den Client enthält: https://pkg.bluemind.net/clients/last/bm-php-api.zip
Verwendung
Authentifizierung
Der Client wird mit der Klasse BMClient initialisiert:
Bloc de code | ||
---|---|---|
| ||
<?php
require 'BM/AuthenticationClient.php';
require 'BM/DomainsClient.php';
$url="https://external-url";
$token="admin";
$authClient = new BM\AuthenticationClient($url, NULL);
$loginResponse = $authClient->login('admin0@global.virt', $token, 'bm-php-client');
echo "Login result : ".$loginResponse->status;
?> |
url definiert die Zugriffs-Url auf den BlueMind-Server.
...
.
...
php
...
<?php
require 'BM/AuthenticationClient.php';
require 'BM/DomainsClient.php';
$url="https://external-url";
$token="admin";
$authClient = new BM\AuthenticationClient($url, NULL);
$loginResponse = $authClient->login('admin0@global.virt', $token, 'bm-php-client');
print "Login result : ".$loginResponse->status;
$authClient = new BM\AuthenticationClient($url, $loginResponse->authKey);
$token = $authClient->su("user@local.lan");
print "sudo result : ".$token->status
?>
Anstelle eines Benutzer-Logins kann ebenfalls der API-Schlüssel verwendet werden.
Auflisten der Domains
Bloc de code | ||
---|---|---|
| ||
<?php
require 'BM/AuthenticationClient.php';
require 'BM/DomainsClient.php';
$url="https://external-url";
$token="admin";
$authClient = new BM\AuthenticationClient($url, NULL);
$loginResponse = $authClient->login('admin0@global.virt', $token, 'bm-php-client');
print "Login result : " + $loginResponse->status;
$domainClient = new BM\DomainsClient($url, $loginResponse->authKey);
$domains = $domainClient->all();
#var_dump($domains);
foreach ($domains as $domain)
{
print $domain->value->name."\n";
}
?> |
Auflisten der Ereignisse
Bloc de code | ||
---|---|---|
| ||
<?php
require 'BM/AuthenticationClient.php';
require 'BM/DomainsClient.php';
require 'BM/UserClient.php';
require 'BM/CalendarClient.php';
require 'BM/ContainersClient.php';
require 'BM/ContainerQuery.php';
// BEGIN CONF
$url="https://external-url";
$token="admin";
$user="user@local.lan";
$domain="local.lan";
// END CONF
$authClient = new BM\AuthenticationClient($url, NULL);
$loginResponse = $authClient->login('admin0@global.virt', $token, 'bm-php-client');
//var_dump($loginResponse);
print "Login result : " + $loginResponse->status;
$userClient = New BM\UserClient($url, $loginResponse->authKey, $domain);
$userValue = $userClient->byEmail($user);
$containersClient = New BM\ContainersClient($url, $loginResponse->authKey);
$query = New BM\ContainerQuery();
$query->owner = $userValue->uid;
$query->type = "calendar";
$containers = $containersClient->allForUser($domain, $userValue->uid, $query);
foreach ($containers as $container)
{
print "calendar : ".$container->name. " uid : ".$container->uid."\n";
$calendarClient = New BM\CalendarClient($url, $loginResponse->authKey, $container->uid);
foreach ($calendarClient->list_()->values as $event)
{
print "Event : ".$event->value->main->summary."\n";
}
}
?> |
Beispiele sind auf unserem Git verfügbar: https://forge.bluemind.net/stash/projects/BA/repos/bluemind-samples/browse/php-api-examples
FAQ
Probleme mit dem Zertifikat
...