You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C# Graph客户端调用MS Graph API检出SharePoint文件报错求助

问题根因

  • 你代码中命名为sharedDocsDriveId的参数实际是SharePoint列表ID,并非对应文档库的Drive ID,直接传入Drives[]索引就会触发驱动器ID格式错误的报错。
  • IListItemRequestBuilder本身没有提供Checkout方法,必须先获取列表项关联的DriveItem对象才能调用检出接口。

解决代码

直接对齐Graph Explorer中的请求路径编写即可,不需要额外获取Drive ID:

string mySiteId = "mySuperCoolDomainName.sharepoint.com,555b5555-5555-4555-5bb5-b555b55555b5,5555b555b-1234-123b1-83de-55b55b55555";
// 该参数为列表ID,修改变量名避免混淆
string sharedDocsListId = "12345ccc-1c9c-1c11-9e09-1cc1234bb0b4";
string listItemId = "2";

await App.GraphClient.Sites[mySiteId]
    .Lists[sharedDocsListId]
    .Items[listItemId]
    .DriveItem
    .Checkout()
    .Request()
    .PostAsync();

额外注意事项

  • 确认你的应用已配置Files.ReadWrite.All或Sites.ReadWrite.All的对应权限,权限不足也会导致操作失败。
  • 仅未处于检出状态的文件可以执行检出操作,重复调用检出接口会返回错误。

内容的提问来源于stack exchange,提问作者dot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:45:08