Utilisation API WebService

Added by Florent Cardot 8 months ago

Bonjour,

Dans le cadre d'un projet, nous souhaitons utiliser Linshare pour le stockage des documents.

Nous avons trouvé la documentation de l'API ici:
http://download.linshare.org/components/linshare-core/2.1.0-1/

Quelle est la différence entre l'API user-v1 et user-v2?

Lors de la création d'un document, la documentation spécifie le contenu du BODY, mais ne nomme pas les champs. Doit on envoyer les données dans un tableau non associatif?

body    true    File stream.    java.io.InputStream

body    false    An optional description of a document.    string
body    false    The given file name of the uploaded file.    string
body    false    Signature file stream.    java.io.InputStream

body    false    The given file name of the signature uploaded file.    string
body    false    X509 Certificate entity.    java.io.InputStream

body    false    The given metadata of the uploaded file.    string
body    false    file size (size validation purpose).    long
body    false        MultipartBody

De même, la documentation specifie qu'il faut envoyer le document sous la forme d'un java.io.InputStream. Etant en PHP (Symfony3), cela posera-t-il un problème si nous envoyons juste un objet de type stream?

Enfin dernière question, nous avons pu tester le telechargement d'un document, mais la requete nous retourne l'erreur suivante:

No message body writer has been found for class org.linagora.linshare.core.facade.webservice.common.dto.ErrorDto, ContentType: text/html

D’où cela vient il? Sachant que nous avons utiliser les url suivante avec le même résultat:
https://files.linshare.local/linshare/webservice/rest/user/v2/documents/e0f6ee85-76f1-4630-ae77-6d3dc231d856/download
ou
https://files.linshare.local/linshare/webservice/rest/user/documents/e0f6ee85-76f1-4630-ae77-6d3dc231d856/download


Replies (2)

RE: Utilisation API WebService - Added by Frédéric MARTIN 8 months ago

Bonjour,

L'api v1 de LinShare est présente pour des raisons de compatibilité avec les versions 1.x de LinShare. Il n'est pas recommandé de baser de nouveaux développement sur cette API.

Le message d'erreur est liée au fait que vous fournissez à LinShare un format de réponse inconnu (text/html).
LinShare supporte json ou xml (Accept: application/json or application/xml)

Voici un exemple pour déposer des fichiers avec curl :
curl -i -u ":secret" http://files.linshare.local/linshare/webservice/rest/user/documents -X POST -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F"file=@tux.jpeg"

cordialement,

RE: Utilisation API WebService - Added by Florent Cardot 6 months ago

Bonjour,

Un grand merci pour votre application.

Nous avons pu utiliser votre application en mode full api rest. Une fois pris en main le fonctionnement, cela va tout seul.

Nous avons utilisé exclusivement l'URI linshare/webservice/rest/user/v2/ pour créer des workgroups, des dossiers dans les workgroups et des documents dans les dossiers et les workgroups.

La récupération de ces documents se fait sans souci.

Petite info toutefois, nous utilisions la version 2.1 (2.1.0 plus précisément), et il y a quelques jours de nouvelles versions sont sorties (2.1.1 et 2.1.1-1): https://hub.docker.com/r/linagora/linshare-backend/builds/

Nous ne savons pas quelles modifications ont été apportées, mais ayant précisé 2.1 pour la version, lors du pull, nous avons récupéré la version 2.1.1 et toutes nos requêtes sont passées en 403 bad request. Nous avons résolu le problème en repassant à la version 2.1.0. Nous n'avons pas investigué plus loin, mais si nous devions passer en 2.1.1, quelles sont les différences majeures pouvant causer ce problème ?

Cordialement

Florent Cardot

(1-2/2)