Installation
Le client python peut s'installer de deux manières différentes, soit en installation le paquet python-bm-client disponible dans les dépôts BlueMind, soit en l'installant via pip.
aptitude install python-pip pip install netbluemind
yum install python-pip pip install netbluemind
curl -O https://bootstrap.pypa.io/get-pip.py sudo /usr/bin/python get-pip.py sudo /usr/local/bin/pip install --upgrade pip sudo /usr/local/bin/pip install netbluemind
Utilisation
Authentification
Le client s'initialise avec la classe BMClient :
from netbluemind.python.client import BMClient # BEGIN CONF URL="http://localhost:8090/api" # END CONF f = open('/etc/bm/bm-core.tok', 'r') KEY = f.readline() f.close() client = BMClient(URL, KEY)
URL définie l'url d'accès au serveur BlueMind, depuis l’extérieur l'url sera https://bluemind.domain.net/api.
KEY correspond au mot de passe ou token de l'admin0, dans cet exemple on utilise le token admin0 disponible sur le serveur afin d'avoir des droits étendus au niveau de l'API, il est possible de s'authentifier en tant qu'utilisateur avec :
from netbluemind.python.client import BMClient # BEGIN CONF URL="http://localhost:8090/api" # END CONF client = BMClient(URL) client.login('login@domain.net', 'password')
A noter qu'il est aussi possible d'utiliser la clé d'API d'un utilisateur à la place de son login.
Utilisation
La classe BMClient permet aussi d'accéder aux différentes classes pour manipuler les utilisateurs, groupes, etc
from netbluemind.python.client import BMClient # BEGIN CONF URL="http://localhost:8090/api" # END CONF client = BMClient(URL) client.login("login@domain.net", "password") print client.apiKey iUser = client.users("domain.net") user = iUser.byEmail("login@domain.net") print user.value.login
iUser (instance de IUser) permet d'accéder et modifier toutes les informations sur un utilisateur (mot de passe, photo, contact, statut archivé, etc)
De nombreux exemples de possibilités sont accessibles ici : https://forge.bluemind.net/stash/projects/BA/repos/bluemind-samples/browse/python-api-examples