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

如何在C#中通过Graph API利用DriveItem筛选SharePoint文档

解决方案

1. 通过文件名/文件夹名筛选文档(无需扩展DriveItem)

你不需要扩展driveitem来筛选名称,因为ListItem本身就包含Name属性(对应文档库中的文件名/文件夹名),直接修改Filter条件即可:

var resultat = await _client.Drives[driveId].List.Items.GetAsync((requestConfig) =>
{
    requestConfig.QueryParameters.Filter = $"Name eq '{name}'";
});

如果确实需要通过DriveItem关联筛选,注意Microsoft Graph的属性名是驼峰式的name(不是大写Name),修正后的代码如下:

var resultat = await _client.Drives[driveId].List.Items.GetAsync((requestConfig) =>
{
    requestConfig.QueryParameters.Filter = $"driveItem/name eq '{name}'";
    requestConfig.QueryParameters.Expand = ["driveItem"];
});

2. 路径获取文档时返回空结果而非抛出异常

当通过路径获取文档时,捕获ServiceException并判断状态码为404时返回空结果:

try
{
    var item = await _client.Drives[driveId].Items.ItemWithPath(path).GetAsync();
    return item != null ? new List<DriveItem> { item } : new List<DriveItem>();
}
catch (ServiceException ex) when (ex.StatusCode == System.Net.HttpStatusCode.NotFound)
{
    return new List<DriveItem>();
}

若针对ListItem路径查询,逻辑一致:捕获404异常后返回空集合即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 04:50:54