[API] Récupération des espaces enfants
-
Bonjour,
Nous souhaiterions automatiser la gestion des droits sur les espaces de nos bases (espaces parents).
Pour cela, nous avons besoin d’accéder aux espaces enfants afin de pouvoir créer des groupes d’utilisateurs et les assigner aux espaces correspondants. Or, je ne trouve pas le endpoint permettant de récupérer la liste des sous-espaces.
Pourriez-vous m’indiquer s’il existe un endpoint prévu à cet effet ou, le cas échéant, m’orienter vers la bonne méthode pour procéder ?
Bien cordialement,
-
Bonjour,
J'en suis contrit, mais en l'état c'est impossible de récupérer tous les espaces descendants d'un espace parent via nos endpoints d'API REST. J'ai référencé un ticket interne pour que ce soit implémenté prochainement.
Si toutefois vous avez besoin d'un contournement dans l'immédiat, il est possible de bricoler quelque chose en CMIS en "parlant" directement avec Alfresco. Mais je tiens à vous prévenir, ce n'est pas une promenade de santé.
Tout d'abord il faut récupérer un ticket de session Alfresco :
POST /alfresco/api/-default-/public/authentication/versions/1/tickets
en renseignant en payload en JSON les identifiants de l'utilisateur requêtant :{ "userId": "simon.gauzy", "password": "XXXXX" }
le ticket sera retourné dans la clé
entry.id
de la réponse :Ensuite :
GET /alfresco/api/-default-/public/cmis/versions/1.1/browser/root/Sites/EMPLACEMENT/VERS/LE_GROUPE?alf_ticket=TICKET
Qui retourne tous les descendants à un niveau de l'emplacement considéré.
Parmi les descendants récupérés, il faut faire un élagage en ne conservant que ceux dont le nom commence par "_". Les noms des entités récupérées se trouvent dans les clés
object.properties.cmis:name.value
et on peut récupérer leur identifiants GoFAST dansobject.properties.gofast:nid.value
.Et si on souhaite que ce soit récursif, il faut alors répéter l'opération pour chaque élément retenu, jusqu'à ce qu'il n'y ait plus de descendant dont le nom commence par "_".
Ce qui implique un script un peu "fastidieux", mais ce genre de bricolage marcherait quand même.
En vous souhaitant une belle fin de journée,
Respectueusement,Raphaël.