![](/img/trans.png)
[英]Issues publishing image to Facebook Page via Graph API SDK .NET
[英]Delete locked/open file via Graph API/SDK
我正在尝试通过 Graph SDK 删除文档库(SharePoint Online)中的文件
await client
.Drives[driveId]
.Items[sourceItemId]
.Request()
.DeleteAsync();
这项工作。 但是如果文件是打开的,它会抛出这个错误:
Status Code: Locked
Microsoft.Graph.ServiceException: Code: resourceLocked
Message: The resource you are attempting to access is locked
无论如何,我如何强制它删除?
如果我尝试通过 SharePoint 在线用户界面(浏览器)删除打开的文件,则会出现一个弹出窗口,提示它已被锁定,但我仍然可以选择删除它。 因此可以删除锁定/打开的文件。 他们只是忘了在这里记录它https://docs.microsoft.com/en-us/graph/api/driveitem-delete?view=graph-rest-1.0&tabs=csharp
我也使用图形 SDK 来执行相同的操作,但还没有找到任何有用的线程来删除/忽略现有的文件锁。 然后我在Microsoft.SharePoint.Client.File
类下找到了一个名为DeleteWithParameters()
方法,该方法接受一个FileDeleteParameters
类型的参数,我们可以通过该参数将BypassSharedLock
参数设置为 true 以绕过现有锁。 代码如下所示:
Microsoft.SharePoint.Client.FileDeleteParameters fileParams = new Microsoft.SharePoint.Client.FileDeleteParameters();
fileParams.BypassSharedLock = true;
var testDocument = clientContext.Web.GetFileByServerRelativeUrl(uri.LocalPath);
testDocument.DeleteWithParameters(fileParams);
clientContext.ExecuteQuery();
供你参考 :
请注意:我知道这并没有回答确切的问题,因为要求 OP 提供使用图形 SDK 删除/忽略锁定的选项。 但是,其他人仍然可以使用这种方法,因为它是Microsoft.SharePoint.Client
的一部分,而不是任何外部 sdk。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.