使用PHP cURL列出OwnCloud中的文件/文件夹

5

这是一个奇怪的问题,但是通过一些owncloud api和使用curl,我可以获得一个JSON或XML输出,其中包含<url>/cs/v1.php/apps/files_sharing/api/v1/shares

我的问题是files_sharing是否是唯一工作的应用程序,例如files应用程序是否有其他未记录的参数。

提前致谢。

1个回答

13

Share是一个专门用于获取共享文件/文件夹信息并对它们进行共享的API。

要获取目录中文件/文件夹的列表,您必须通过Webdav接口访问,该接口位于服务器的remote.php/webdav/路径下。

例如,要获取根文件夹的文件列表,可以使用此命令:

curl -X PROPFIND -u user:password "http://yourserver.com/owncloud/remote.php/webdav/"

此外,您还可以使用更多的HTTP方法来完成更多任务:

  • PROPFIND = 获取文件/文件夹列表
  • MKCOL = 创建文件夹
  • DELETE = 删除文件/文件夹
  • MOVE = 移动或重命名文件或文件夹
  • PUT = 上传文件
  • GET = 下载文件

1
我们如何使用curl(或类似Sabre的WebDAV客户端)在php中使用PROPFIND访问文件? - user1502
2
在您的curl设置中添加:curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PROPFIND" ); - pathrider
需要额外注意的一件事是,Owncloud Share API似乎不会显示其他用户共享给你的文件。我不得不切换到OwnCloud WEBDAV接口来处理这个问题。 - pathrider
1
@cardinalPilot 你必须使用参数 ?shared_with_me=1。它没有在官方 API 页面上记录。 - Christophe Roussy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接