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

调用Microsoft Graph API PUT driveItemVersion content接口遇itemNotFound错误

C#调用Microsoft Graph API版本内容PUT请求报错问题

我尝试调用Microsoft Graph API的https://graph.microsoft.com/v1.0/drive/items/{driveItem-id}/versions/{driveItemVersion-id}/content端点,GET请求可以正常执行,但PUT请求返回错误。

GET请求代码

await _graphServiceClient
    .Sites[siteId]
    .Drives[driveId]
    .Items[itemId]
    .Versions["1.0"]
    .Content
    .Request()
    .GetAsync();

PUT请求代码

await _graphServiceClient
    .Sites[siteId]
    .Drives[driveId]
    .Items[itemId]
    .Versions["1.0"]
    .Content
    .Request()
    .PutAsync<DriveItemVersion>(file);

抛出异常

Microsoft.Graph.ServiceException: 'Code: itemNotFound Message: Item not found'


可能的原因及解决办法

  • 版本ID格式错误:Graph API中版本ID一般是系统生成的唯一标识符(而非"1.0"这类友好版本号),虽然GET请求能识别友好编号,但PUT请求不支持。先调用/drive/items/{itemId}/versions获取版本列表,拿到对应版本的id字段值替换代码中的"1.0"。
  • 权限不足:修改版本内容需要Files.ReadWrite.All或Sites.ReadWrite.All这类高权限,确认应用/用户已被授予对应权限且权限生效。
  • 版本不可编辑:部分历史版本处于只读状态,或已被锁定,无法直接修改。检查目标版本的可编辑属性。
  • 泛型类型不匹配:PUT内容端点的返回类型应为DriveItem而非DriveItemVersion,尝试修改代码为PutAsync<DriveItem>(file)。
  • 路径参数错误:核对siteId、driveId、itemId的取值是否正确,确认站点、驱动器、文件的关联关系无误。

内容的提问来源于stack exchange,提问作者Marisa B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:05:48