Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Sv translation
languagefr
Remarque

Cette page n'est plus actualisée. À partir de BlueMind 4.8, veuillez consulter la nouvelle documentation BlueMind

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
languagephp
<?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
languagephp
<?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
languagephp
<?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
languagephp
<?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.php


Sv translation
languagede
Remarque

Diese Seite ist nicht mehr aktuell. Ab der Version BlueMind 4.8 finden Sie alle Infos in der neuen Dokumentation

Installation

Die Installation des PHP-Clients erfolgt derzeit durch Abrufen eines Archivs, das den Client enthält, unter folgender URL: https://pkg.bluemind.net/pkg/<technische Nummer des BM>/clients/

Verwendung

Authentifizierung

Der Client wird mit der Klasse BMClient initialisiert:

Bloc de code
languagephp
<?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.

token entspricht dem Passwort oder Token des admin0, in diesem Beispiel verwenden wir den admin0, aber es ist möglich, sich mit einem beliebigen Benutzer zu authentifizieren. Es ist auch möglich, sich wie folgt als Benutzer zu authentifizieren:

Bloc de code
languagephp
<?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
languagephp
<?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 Termine

Bloc de code
languagephp
<?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

Wenn Sie ein nicht anerkanntes Zertifikat verwenden, müssen Sie in der Datei BM/GlobalEnv.php den Wert von CURLOPT_SSL_VERIFYPEER auf FALSE ändern


Sv translation
languageen
Remarque

This page is no longer being updated. From BlueMind 4.8, please refer to the new BlueMind documentation