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

如何在.NET中通过Microsoft Graph API按路径检索SharePoint的DriveItem?

使用Microsoft Graph .NET SDK按指定路径检索Drive项目

前提准备

首先确保已安装Microsoft Graph .NET SDK:

dotnet add package Microsoft.Graph

如果需要身份验证相关支持,可根据你的认证场景安装对应包(比如Microsoft.Identity.Client用于委托/应用权限认证)。

核心实现代码

对应你提供的REST接口,.NET SDK中可以通过ItemWithPath方法直接指定目标路径,然后获取该路径下的子项。以下是完整示例:

using Microsoft.Graph;
using Microsoft.Identity.Client;

// 初始化GraphServiceClient(以应用权限认证为例)
var clientId = "你的客户端ID";
var tenantId = "你的租户ID";
var clientSecret = "你的客户端密钥";

var scopes = new[] { "https://graph.microsoft.com/.default" };
var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(credential, scopes);

// 替换为实际的siteID、driveID和目标路径
var siteId = "{{siteID}}";
var driveId = "{{driveID}}";
var targetPath = "MY_PATH";

// 执行检索请求
var children = await graphClient.Sites[siteId]
    .Drives[driveId]
    .Root
    .ItemWithPath(targetPath)
    .Children
    .Request()
    .GetAsync();

// 处理返回的子项集合
foreach (var item in children)
{
    Console.WriteLine($"项目名称: {item.Name}, ID: {item.Id}");
}

代码对应关系说明

  • Sites[siteId].Drives[driveId]:对应REST接口中的/sites/{{siteID}}/drives/{{driveID}}部分
  • Root.ItemWithPath(targetPath):对应REST中的/root:/MY_PATH:路径语法,直接映射指定的相对路径
  • .Children:对应REST中的/children,获取该路径下的所有子项目

注意事项

  • 确保你的应用已被授予足够的权限(比如Files.Read、Sites.Read.All等,根据实际场景选择)
  • 路径中的特殊字符无需手动编码,SDK会自动处理
  • 若需要分页获取大量子项,可使用PageIterator来遍历所有结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 00:39:53