2017-09-01 4 views
0

Je dispose du stockage de fichiers NextCloud et je souhaite créer une interface publique pour cela. Malheureusement, je ne comprends pas comment y accéder et par exemple la liste des fichiers via php (laravel).Fichiers de liste Nextcloud utilisant l'API

Peut-être devrais-je passer au logiciel OwnCloud?

Pourriez-vous s'il vous plaît conseiller ou donner l'exemple que je pourrais commencer?

Répondre

1

Vous pouvez consulter certains projets existants ownCloud-client pour l'inspiration sur la façon de mettre en œuvre ce genre de demandes dans le serveur:

Notez que ownCloud utilise la webDAV protocole pour implémenter certaines de ses opérations les plus basiques (telles que la liste des fichiers). par exemple. la demande:

$ curl -H 'Cookie:$SESSION' -X PROPFIND 'https://demo.owncloud.com/remote.php/dav/files/demo/' --data-binary \ 
'<?xml version="1.0" ?> 
<d:propfind xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns"> 
    <d:prop> 
    <d:resourcetype /> 
    </d:prop> 
</d:propfind> 
' 

Gets a répondu avec la liste des répertoires plus haut niveau de la démo de l'utilisateur:

<?xml version="1.0"?> 
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:card="urn:ietf:params:xml:ns:carddav" xmlns:oc="http://owncloud.org/ns"> 
    <d:response> 
    <d:href>/remote.php/dav/files/demo/</d:href> 
    <d:propstat> 
     <d:prop> 
     <d:resourcetype> 
      <d:collection/> 
     </d:resourcetype> 
     </d:prop> 
     <d:status>HTTP/1.1 200 OK</d:status> 
    </d:propstat> 
    </d:response> 
    <d:response> 
    <d:href>/remote.php/dav/files/demo/Documents/</d:href> 
    <d:propstat> 
     <d:prop> 
     <d:resourcetype> 
      <d:collection/> 
     </d:resourcetype> 
     </d:prop> 
     <d:status>HTTP/1.1 200 OK</d:status> 
    </d:propstat> 
    </d:response> 
    <d:response> 
    <d:href>/remote.php/dav/files/demo/Photos/</d:href> 
    <d:propstat> 
     <d:prop> 
     <d:resourcetype> 
      <d:collection/> 
     </d:resourcetype> 
     </d:prop> 
     <d:status>HTTP/1.1 200 OK</d:status> 
    </d:propstat> 
    </d:response> 
    <d:response> 
    <d:href>/remote.php/dav/files/demo/ownCloud%20Manual.pdf</d:href> 
    <d:propstat> 
     <d:prop> 
     <d:resourcetype/> 
     </d:prop> 
     <d:status>HTTP/1.1 200 OK</d:status> 
    </d:propstat> 
    </d:response> 
</d:multistatus> 
+0

Notez que pour PHP il y a la bibliothèque Saber/dav qui comprend une bibliothèque d'aide du client: http: //sabre.io/dav/davclient/. Nextcloud et ownCloud sont construits autour de la bibliothèque Saber/dav. Le projet sabre inclut également une couche pratique autour des bibliothèques XML de PHP (moche): http://sabre.io/xml/ – LEDfan