<p>目前在ownCloud中还没有垃圾桶应用的官方API,因此没有集成到ownCloud的python库中。然而,有两种方法可以达到你所需要的。一旦文件放入垃圾箱,您就可以使用应用程序的ajax API来:</p>
<h3>从垃圾桶中删除所有文件</h3>
<p>如果您根本不关心垃圾桶的内容,只想删除它们:</p>
<pre><code>curl 'https://<owncloud-URL>/index.php/apps/files_trashbin/ajax/delete.php' \
-H 'OCS-APIREQUEST: true' \
-H 'Cookie: <session-token>' \
data 'allfiles=true&dir=/'
</code></pre>
<h3>列出并有选择地删除所需的文件:</h3>
<p>您可以请求其中的文件列表:</p>
^{pr2}$
<p>请注意,url上的<code>dir</code>查询参数可以与用于列出删除<code>p=oc.list('/')</code>中所有文件的相同。在</p>
<p>响应主体如下所示:</p>
<pre><code>{
"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"
}
</code></pre>
<p>然后,您可以根据对象的名称和时间创建需要删除的对象列表(<code>files</code>):</p>
<pre><code>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=/'
</code></pre>
<p>最后一个注意事项:请求中的<code><mtimeX></code>是请求列表时文件的属性<code>"mtime": 1505373301000</code>,并删除后面的3个零</strong>。另外,请注意通过将两个部分与<strong><code>.d</code></strong>连接来构造名称。在</p>
<p>希望这有帮助!在</p>