У меня есть хранилище файлов NextCloud, и я хочу создать для него открытый интерфейс. К сожалению, я не понимаю, как получить к нему доступ и, например, список файлов через php (laravel).
Может быть, я должен перейти на программное обеспечение OwnCloud?
Не могли бы вы посоветовать или привести какой-нибудь пример, с которого я мог бы начать?
Вы можете проверить некоторые существующие проекты ownCloud-client для получения вдохновения о том, как реализовать такого рода запросы на сервере:
Обратите внимание, что ownCloud использует Webdav протокол для реализации некоторых из его основных операций (например, список файлов). например запрос:
$ 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>
'
Получает ответ с каталогом верхнего уровня демонстрации пользователя:
<?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>
Других решений пока нет …