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

调用MS Graph为SharePoint共享文档库创建上传会话报资源不存在错误

问题原因及解决方法

一、代码中的错误点

  • 语法错误1:C#变量定义顺序错误,你把类型string写在了变量名siteName后面,正确写法应该是类型在前
  • 语法错误2:Graph SDK的站点访问属性是Sites(复数形式),你代码里写的是单数Site,同时siteName后面多了一个多余的.
  • 格式错误:站点ID的末尾多了不必要的冒号,正确的带相对路径的站点ID格式不需要末尾的冒号

二、修正后的代码示例

// 修正变量定义顺序和站点ID格式,去掉末尾多余的冒号
private readonly string siteName = "my-dough-main.sharepoint.com:/sites/widgets";
// 确认这里的文档库ID是你从查询结果中完整复制的id字段值
private readonly string largeBlobsDocumentLibraryID = "57575757575-1ccc-4a44-b88e-5ef0fb75249b";

// 创建上传会话,修正Sites拼写和多余的点
var uploadSession =  await _graphServiceClient.Sites[siteName].Drives[largeBlobsDocumentLibraryID]
    .ItemWithPath("thebogusfile.mp4")
    .CreateUploadSession(uploadProps)
    .Request()
    .PostAsync();

三、额外需要确认的配置

  • 权限配置:操作非个人站点的SharePoint资源,需要确保你的应用注册配置了对应权限:如果是应用权限模式,需要配置Sites.ReadWrite.All应用权限并由租户管理员批准;如果是委托权限模式,需要配置Sites.ReadWrite.All委托权限,且当前登录的用户拥有目标文档库的写入权限。
  • 文档库ID验证:可以先直接调用查询接口GET /sites/{siteName}/drives/{largeBlobsDocumentLibraryID}/root验证ID和路径是否正确,能正常返回根目录信息则说明基础路径没有问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:24:02