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

如何使用Microsoft Graph .NET SDK 5.0改写SharePoint小文件上传代码

适配Microsoft Graph .NET SDK 5.0的小文件上传代码

针对你遇到的两个问题(获取DriveItem返回值、传递conflictBehavior参数),可以通过以下方式修改代码:

  1. 传递conflictBehavior参数:SDK 5.x不再使用QueryOption列表,而是通过RequestConfiguration类配置查询参数
  2. 获取DriveItem返回值:使用PutAsync<T>泛型重载,指定返回类型为DriveItem

完整代码如下:

private async static Task<DriveItem> UploadSmallFile(string driveId, string filePath, MemoryStream fileStream)
{
    // 配置请求参数,设置冲突行为为replace
    var requestConfig = new RequestConfiguration
    {
        QueryParameters = new QueryParameters
        {
            AdditionalQueryParameters = new Dictionary<string, object>
            {
                { "@microsoft.graph.conflictBehavior", "replace" }
            }
        }
    };

    // 调用泛型重载PutAsync<DriveItem>获取返回的文件对象
    DriveItem file = await GraphClient
        .Drives[driveId]
        .Root
        .ItemWithPath(filePath)
        .Content
        .PutAsync<DriveItem>(fileStream, requestConfig);
    
    return file;
}

补充说明

  • RequestConfiguration是SDK 5.x统一的请求配置类,除了查询参数,还可以配置请求头、中间件等
  • 如果偏好使用请求头传递冲突行为,也可以在RequestConfiguration的Headers中添加Prefer: overwrite(对应replace行为),效果与查询参数一致

内容的提问来源于stack exchange,提问作者Ásgeir Gunnar Stefánsson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:12:45