2024-09-27 17:54:26 发布
网友
我用的是Python。 我删除我的文件。 它们出现在垃圾箱里。我不知道如何从垃圾箱中删除它们。在
import owncloud oc = owncloud.Client('ip') oc.login('account', 'password') p=oc.list('/') for i in p: oc.delete(i.path) # and than they appear in trash
目前在ownCloud中还没有垃圾桶应用的官方API,因此没有集成到ownCloud的python库中。然而,有两种方法可以达到你所需要的。一旦文件放入垃圾箱,您就可以使用应用程序的ajax API来:
如果您根本不关心垃圾桶的内容,只想删除它们:
curl 'https://<owncloud-URL>/index.php/apps/files_trashbin/ajax/delete.php' \ -H 'OCS-APIREQUEST: true' \ -H 'Cookie: <session-token>' \ data 'allfiles=true&dir=/'
您可以请求其中的文件列表:
请注意,url上的dir查询参数可以与用于列出删除p=oc.list('/')中所有文件的相同。在
dir
p=oc.list('/')
响应主体如下所示:
{ "data": { "permissions": 0, "directory": "\/", "files": [ { "id": 0, "parentId": null, "mtime": 1505373301000, "name": "ownCloud Manual.pdf", "permissions": 1, "mimetype": "application\/octet-stream", "size": 5111899, "type": "file", "etag": 1505373301000, "extraData": ".\/ownCloud Manual.pdf" } ] }, "status": "success" }
然后,您可以根据对象的名称和时间创建需要删除的对象列表(files):
files
curl 'https://<owncloud-URL>/index.php/apps/files_trashbin/ajax/delete.php' \ -H 'OCS-APIREQUEST: true' \ -H 'Cookie: <session-token>' \ data 'files=["<file1>.d<mtime1>","<file2>.d<mtime2>"]&dir=/'
最后一个注意事项:请求中的<mtimeX>是请求列表时文件的属性"mtime": 1505373301000,并删除后面的3个零。另外,请注意通过将两个部分与.d连接来构造名称。在
<mtimeX>
"mtime": 1505373301000
.d
希望这有帮助!在
谢谢你的库奇亚! 我从垃圾桶里删除文件。在
import requests userID = 'aaa' userPassword = 'bbbbbbb' with requests.Session() as s: response = s.get('http://'+userID+':'+userPassword+'@<owncloud-URL>/index.php/apps/files/?dir=/&fileid=4896' ) #change your fileid token = response.content.split('data-requesttoken="')[1].split('"')[0] Cookie = 'oc7b6t1tjo61='+s.cookies['oc7b6t1tjo61']+';oc_sessionPassphrase='+s.cookies['oc_sessionPassphrase'] data = {'allfiles':'true', 'dir':'/'} headers = {'requesttoken':token, 'OCS-APIREQUEST':'true', 'Cookie':Cookie ,'Accept-Language':'zh-TW,en-US;q=0.7,en;q=0.3'} response2 = s.post('http://<owncloud-URL>/index.php/apps/files_trashbin/ajax/delete.php',data = data, headers = headers, cookies=s.cookies) print response2.content
目前在ownCloud中还没有垃圾桶应用的官方API,因此没有集成到ownCloud的python库中。然而,有两种方法可以达到你所需要的。一旦文件放入垃圾箱,您就可以使用应用程序的ajax API来:
从垃圾桶中删除所有文件
如果您根本不关心垃圾桶的内容,只想删除它们:
列出并有选择地删除所需的文件:
您可以请求其中的文件列表:
^{pr2}$请注意,url上的
dir
查询参数可以与用于列出删除p=oc.list('/')
中所有文件的相同。在响应主体如下所示:
然后,您可以根据对象的名称和时间创建需要删除的对象列表(
files
):最后一个注意事项:请求中的
<mtimeX>
是请求列表时文件的属性"mtime": 1505373301000
,并删除后面的3个零。另外,请注意通过将两个部分与.d
连接来构造名称。在希望这有帮助!在
谢谢你的库奇亚! 我从垃圾桶里删除文件。在
相关问题 更多 >
编程相关推荐