我正在尝试通过REST服务从SharePoint在线文档库中的文件夹中删除文件。我已经在对该解决方案的文件和列表执行其他几项CRU(D)操作,除了(D)elete以外,其他一切都工作正常。
我尝试了几种访问文件的方法,例如GetFileByServerRelativeUrl
,GetFileById (=UniqueID)
,GetFolderByServerRelativeUrl
,然后使用/Files
。我也尝试过通过ListItems进行操作,即使用/lists/getByTitle('MyTitle')/items(ID)
。我是该网站的网站集管理员。我得到一个X-RequestDigest,它对于所有其他操作都工作正常。
该解决方案使用TypeScript&React编写,并使用axios进行http-Requests。
var deleteConfig = {
headers: {
"accept": "application/json;odata=verbose",
"IF-MATCH": "*",
"X-HTTP-Method": "DELETE",
"X-RequestDigest": (document.querySelector("#__REQUESTDIGEST") as HTMLInputElement).value
}
}
axios.post(this.props.baseUrl + "/_api/web/getfilebyserverrelativeurl('/sites/MySite/DocLib/Test5.txt')/recycle()", deleteConfig)
.then(response => {
resolve();
})
.catch(ex => {
if (ex.response.status === 403) {
alert("Access Denied!");
console.log(ex);
} else {
alert("Error deleting file (" + ex.response.status + "): " + ex);
console.log(ex);
}
reject();
});
任何删除(带或不带“ / recycle()”)都将导致错误403,并显示消息“此页面的安全验证无效,并且可能已损坏。请使用Web浏览器的“后退”按钮再次尝试操作。 ”。当所有其他帖子,合并和认沽操作都正常时,我无法看到为什么此调用失败的原因。
答案 0 :(得分:0)
使用JQuery尝试以下代码:
aws s3 cp s3://yourbucket/path/to/file/hello.py - | python