API de provisioning utilisateurs¶
L’API de provisioning acive un ensemble d’API qui peuvent être utilisés par des systèmes externes pour créer, modifier, supprimer des utilisateurs ou des groupes, gérer les quotas, etc. Les administrateurs de groupes peuvent aussi réaliser les mêmes actions pour les groupes qu’ils administrent. L’API permt aussi à un administrateur d’interroger ownCloud sur les applications actives, sur les informations des applications, et d’activer ou de désactiver une application à distance. Des requêtes HTTP peuvent être utilisées à l’aide d’un en-tête Basic Auth pour réaliser toutes les actions décrites précédemment. L’API de provisioning ext activée par défaut.
L’URL de base pour les appels de l’API est owncloud_base_url/ocs/v1.php/cloud.
Jeu d’instructions pour les utilisateurs¶
users / adduser¶
Crée un nouvel utilisateur sur le serveur ownCloud. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users
- Méthode HTTP : POST
- Argument POST : userid - chaîne, le nom d’utilisateur requis pour le nouvel utilisateur
- Argument POST : password - chaîne, le mot de passe requis pour le nouvel utilisateur
Codes d’état :
- 100 - succès
- 101 - données invalides
- 102 - le nom d’utilisateur existe déjà
- 103 - une erreur inconnue est survenue lors de l’ajout de l’utilisateur
Exemple¶
- POST http://admin:secret@example.com/ocs/v1.php/cloud/users -d userid="Frank" -d password="frankspassword"
- Crée l’utilisateur Frank avec le mot de passe frankspassword
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data/>
</ocs>
users / getusers¶
Récupère une liste d’utilisateurs du serveur ownCloud. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users
- Méthode HTTP : GET
- Arguments url : search - chaîne, chaîne de recherche facultative
- Arguments url : limit - entier, valeur limite facultative
- Arguments url : offset - entier, valeur de déplacement facultative
Codes d’état :
- 100 - succès
Exemple¶
- GET http://admin:secret@example.com/ocs/v1.php/cloud/users?search=Frank
- Renvoie une liste d’utilisateurs correspondant à la chaîne de recherche.
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<users>
<element>Frank</element>
</users>
</data>
</ocs>
users / getuser¶
Récupère des informations sur un utilisateur. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users/{userid}
- Méthode HTTP : GET
Codes d’état :
- 100 - succès
Exemple¶
- GET http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank
- Renvoie des informations sur l’utilisateur Frank
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<email>frank@example.org</email>
<quota>0</quota>
<enabled>true</enabled>
</data>
</ocs>
users / edituser¶
Modifie les attributs relatifs à un utilisateur. Les utilisateurs peuvent modifier leur adresse électronique, leur nom complet et leur mot de passe. Les administrateurs peuvent en plus modifier la valeur du quota. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users/{userid}
- Méthode HTTP : PUT
- Argument PUT : clé, le champ à modifier (email, quota, display, password)
- Argument PUT : valeur, la nouvelle valeur pour le champ
Codes d’état :
- 100 - succès
- 101 - utilisateur non trouvé
- 102 - données invalides
Exemples¶
- PUT PUT http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank -d key="email" -d value="franksnewemail@example.org"
- Met à jour l’adresse électronique pour l’utilisateur Frank
- PUT PUT http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank -d key="quota" -d value="100MB"
- Met à jour le quota pour l’utilisateur Frank
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
users / deleteuser¶
Supprime un utilisateur du serveur ownCloud. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users/{userid}
- Méthode HTTP : DELETE
Codes d’état :
- 100 - succès
- 101 - échec
Exemple¶
- DELETE http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank
- Supprime l’utilisateur Frank
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
users / getgroups¶
Récupère une liste de groupes dont l’utilisateur spécifié est membre. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users/{userid}/groups
- Méthode HTTP : GET
Codes d’état :
- 100 - succès
Exemple¶
- GET http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/groups
- Récupère la liste de groupes dont Frank est membre
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<groups>
<element>admin</element>
<element>group1</element>
</groups>
</data>
</ocs>
users / addtogroup¶
Ajoute l’utilisateur spécifié au groupe spécifié. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users/{userid}/groups
- Méthode HTTP : POST
- Argument POST : groupid, chaîne - le groupe auquel ajouter l’utilisateur
Codes d’état :
- 100 - succès
- 101 - aucun groupe spécifié
- 102 - le groupe n’existe pas
- 103 - l’utilisateur n’existe pas
- 104 - privilèges insuffisants
- 105 - échec de l’ajout de l’utilisateur au groupe
Exemple¶
- POST http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/groups -d groupid="newgroup"
- Ajoute l’utilisateur Frank au groupe newgroup
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
users / removefromgroup¶
Supprime l’utilisateur spécifié du groupe spécifié. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users/{userid}/groups
- Méthode HTTP : DELETE
- ArgumentPOST : groupid, chaîne - le groupe duquel supprimer l’utilisateur
Codes d’état :
- 100 - succès
- 101 - aucun groupe spécifié
- 102 - le groupe n’existe pas
- 103 - l’utilisateur n’existe pas
- 104 - privilèges insuffisants
- 105 - échec de la suppression de l’utilisateur du groupe
Exemple¶
- DELETE http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/groups -d groupid="newgroup"
- Supprime l’utilisateur Frank du groupe newgroup
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
users / createsubadmin¶
Rend un utilisateur administrateur d’un groupe. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users/{userid}/subadmins
- Méthode HTTP : POST
- Argument POST : groupid, chaîne - le groupe dont l’utilisateur doit être administrateur
Codes d’état :
- 100 - succès
- 101 - l’utilisateur n’existe pas
- 102 - le groupe n’existe pas
- 103 - erreur inconnue
Exemple¶
- POST https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/subadmins -d groupid="group"
- Rend l’utilisateur Frank administrateur du groupe group
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
users / removesubadmin¶
Retire les droits d’administration d’un utilisateur spécifié sur un groupe spécifié. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users/{userid}/subadmins
- Méthode HTTP : DELETE
- Argument DELETE : groupid, chaîne - le groupe duquel retirer les droits d’administration
Codes d’état :
- 100 - succès
- 101 - l’utilisateur n’existe pas
- 102 - l’utilisateur n’est pas administrateur du groupe / le groupe n’existe pas
- 103 - erreur inconnue
Exemple¶
- DELETE https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/subadmins -d groupid="oldgroup"
- Retire les droits d’administration de l’utilisateur Frank's pourle groupe oldgroup
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
users / getsubadmingroups¶
Renvoie les groupes dont l’utilisateur est administrateur. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/users/{userid}/subadmins
- Méthode HTTP : GET
Codes d’état :
- 100 - succès
- 101 - l’utilisateur n’existe pas
- 102 - erreur inconnue
Exemple¶
- GET https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/subadmins
- Renvoie les groupes dont l’utilisateur Frank est administrateur
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data>
<element>testgroup</element>
</data>
</ocs>
Jeu d’instructions pour les groupes¶
groups / getgroups¶
Récupère une liste de groupes du serveur ownCloud. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/groups
- Méthode HTTP : GET
- Arguments url : search - chaîne, chaîne de recherche facultative
- Arguments url : limit - entier, valeur de limite facultative
- Arguments url : offset - entier, valeur de déplacement facultative
Codes d’état :
- 100 - succès
Exemple¶
- GET http://admin:secret@example.com/ocs/v1.php/cloud/groups?search=adm
- Renvoie une liste de groupes correspondant à la chaîne de recherche
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<groups>
<element>admin</element>
</groups>
</data>
</ocs>
groups / addgroup¶
Ajoute un nouveau groupe.L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/groups
- Méthode HTTP : POST
- Argument POST : groupid, chaîne - le nom du nouveau groupe
Codes d’état :
- 100 - succès
- 101 - données invalides
- 102 - le groupe existe déjà
- 103 - échec de l’ajout du groupe
Exemple¶
- POST http://admin:secret@example.com/ocs/v1.php/cloud/groups -d groupid="newgroup"
- Ajoute un nouveau groupe nommé newgroup
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
groups / getgroup¶
Récupère une liste des membres du groupe. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/groups/{groupid}
- Méthode HTTP : GET
Codes d’état :
- 100 - succès
Exemple¶
- POST http://admin:secret@example.com/ocs/v1.php/cloud/groups/admin
- Renvoie une liste des utilisateurs membres du groupe admin
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<users>
<element>Frank</element>
</users>
</data>
</ocs>
groups / getsubadmins¶
Renvoie la liste des administrateurs du groupe. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/groups/{groupid}/subadmins
- Méthode HTTP : GET
Codes d’état :
- 100 - succès
- 101 - le groupe n’existe pas
- 102 - erreur inconnue
Exemple¶
- GET https://admin:secret@example.com/ocs/v1.php/cloud/groups/mygroup/subadmins
- Renvoie la liste des administrateurs du groupe mygroup
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data>
<element>Tom</element>
</data>
</ocs>
groups / deletegroup¶
Supprime un groupe. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/groups/{groupid}
- Méthode HTTP : DELETE
Codes d’état :
- 100 - succès
- 101 - le groupe n’existe pas
- 102 - échec de la suppression du groupe
Exemple¶
- DELETE http://admin:secret@example.com/ocs/v1.php/cloud/groups/mygroup
- Supprime le groupe mygroup
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
Jeu d’instructions pour les applications¶
apps / getapps¶
Renvoie une liste des applications installées sur le serveur ownCloud. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/apps/
- Méthode HTTP : GET
- Argument url : filter, chaîne - facultatif (enabled ou disabled)
Codes d’état :
- 100 - succès
- 101 - données invalides
Exemple¶
- GET http://admin:secret@example.com/ocs/v1.php/cloud/apps?filter=enabled
- Obtient la liste des applications activées
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<apps>
<element>files</element>
<element>provisioning_api</element>
</apps>
</data>
</ocs>
apps / getappinfo¶
Fournit des informations sur une application spécifique. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/apps/{appid}
- Méthode HTTP : GET
Codes d’état :
- 100 - succès
Exemple¶
- GET http://admin:secret@example.com/ocs/v1.php/cloud/apps/files
- Obtient les informations sur l’application files
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<info/>
<remote>
<files>appinfo/remote.php</files>
<webdav>appinfo/remote.php</webdav>
<filesync>appinfo/filesync.php</filesync>
</remote>
<public/>
<id>files</id>
<name>Files</name>
<description>File Management</description>
<licence>AGPL</licence>
<author>Robin Appelman</author>
<require>4.9</require>
<shipped>true</shipped>
<standalone></standalone>
<default_enable></default_enable>
<types>
<element>filesystem</element>
</types>
</data>
</ocs>
apps / enable¶
Active une application. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/apps/{appid}
- Méthode HTTP : POST
Codes d’état :
- 100 - succès
Exemple¶
- POST http://admin:secret@example.com/ocs/v1.php/cloud/apps/files_texteditor
- Active l’application files_texteditor
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
</ocs>
apps / disable¶
Désactive une application. L’authentification est faite en envoyant un en-tête HTTP d’authentification basique.
Syntaxe : ocs/v1.php/cloud/apps/{appid}
- Méthode HTTP : DELETE
Codes d’état :
- 100 - succès
Exemple¶
- DELETE http://admin:secret@example.com/ocs/v1.php/cloud/apps/files_texteditor
- Désactive l’application files_texteditor
Sortie XML¶
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
</ocs>