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>
Toute la documentation est sous licence Creative Commons Attribution 3.0 Unported license — Traduction : Cédric Corazza.