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

如何通过单个Microsoft Graph API请求(C# SDK)获取包含缩略图的DriveItem

如何通过单个Microsoft Graph API请求(C# SDK)获取包含缩略图的DriveItem

你遇到的问题其实是因为**thumbnails是DriveItem的导航属性**,而不是普通的顶层属性——只在select里指定它是不够的,必须用$expand参数来展开这个关联的集合,Graph API才会在同一个请求里返回缩略图数据。

你的原请求里只添加了select选项,没有展开thumbnails,所以即使指定了它,API也不会返回对应的内容。我们只需要修改查询选项,同时添加$expand参数就能解决这个问题。

修改后的代码示例如下:

var queryOptions = new List<QueryOption>()
{
    new QueryOption("select", "name,id,webUrl,webDavUrl,parentReference,thumbnails"),
    new QueryOption("expand", "thumbnails") // 关键:添加这一行来展开缩略图集合
};

searchItems = await _graphServiceClient.Me.Drives[DriveID].Root
                     .ItemWithPath(PathOrDriveItemID)
                     .Search(SearchItem)
                     .Request(queryOptions)
                     .GetAsync();

这样修改后,返回的DriveItem对象里的Thumbnails属性就会包含对应的缩略图数据了,不需要再单独调用Thumbnails端点做二次请求。

补充说明:

  • 导航属性(比如thumbnails、children这类关联资源)都需要通过$expand来加载,select只是控制顶层字段的返回,无法自动加载嵌套的关联数据。
  • 如果需要获取特定尺寸的缩略图,可以在expand里进一步指定,比如expand=thumbnails($select=medium),这样只会返回中等尺寸的缩略图数据,减少响应体积。

备注:内容来源于stack exchange,提问作者Qiuzman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 10:53:00