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

如何在C#中使用Microsoft Graph SDK(GraphClient)获取WellKnownFolderName.MsgFolderRoot?

在Microsoft Graph SDK中替代EWS的WellKnownFolderName.MsgFolderRoot的方案

我完全理解你的困扰——之前依赖EWS的WellKnownFolderName.MsgFolderRoot获取邮件根文件夹的逻辑,在迁移到M365和Microsoft Graph后找不到直接对应的API,确实需要调整一下思路。其实Graph里有对应的实现,只是命名和调用方式和EWS不一样,下面给你详细说明:

核心对应关系

在Microsoft Graph中,EWS的WellKnownFolderName.MsgFolderRoot对应的就是用户邮件体系的根文件夹,可以通过mailFolders/root这个端点来访问。它包含了用户所有默认邮件文件夹(比如收件箱、已发送、草稿等)以及自定义文件夹的顶层容器。

使用Graph SDK实现的代码示例

下面以C# SDK为例,展示如何获取根文件夹的详情,以及它的子文件夹:

1. 获取根文件夹基础信息

using Microsoft.Graph;
using Azure.Identity;

// 配置认证信息(根据你的应用场景选择合适的认证方式,这里以客户端凭证为例)
var scopes = new[] { "Mail.Read" };
var clientId = "你的应用客户端ID";
var tenantId = "你的租户ID";
var clientSecret = "你的应用客户端密钥";

var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(credential, scopes);

try
{
    // 请求根邮件文件夹
    var rootMailFolder = await graphClient.Me.MailFolders["root"]
        .Request()
        .GetAsync();

    // 输出文件夹详情
    Console.WriteLine($"根文件夹名称: {rootMailFolder.DisplayName}");
    Console.WriteLine($"文件夹ID: {rootMailFolder.Id}");
    Console.WriteLine($"总项目数: {rootMailFolder.TotalItemCount}");
    Console.WriteLine($"未读项目数: {rootMailFolder.UnreadItemCount}");
}
catch (ServiceException ex)
{
    Console.WriteLine($"请求失败: {ex.Message}");
}

2. 获取根文件夹下的所有子文件夹

如果需要遍历根文件夹下的子文件夹(比如收件箱、自定义文件夹等),可以扩展调用:

var childFolders = await graphClient.Me.MailFolders["root"]
    .ChildFolders
    .Request()
    .GetAsync();

foreach (var folder in childFolders)
{
    Console.WriteLine($"子文件夹: {folder.DisplayName} (ID: {folder.Id})");
}

关键注意事项

  • 权限配置:确保你的应用在Azure AD中已经申请了对应的权限,比如Mail.Read(只读访问)或Mail.ReadWrite(读写访问),权限需要根据实际需求选择,并且完成管理员同意(如果是租户级应用)。
  • 其他语言适配:如果你使用Java、Python等其他语言的Graph SDK,核心逻辑是一致的——都是调用/me/mailFolders/root(或/users/{userId}/mailFolders/root针对特定用户)端点。
  • 结构差异:Graph的邮件文件夹结构相比EWS更扁平化,但根文件夹的作用和EWS的MsgFolderRoot完全一致,都是所有邮件文件夹的顶层容器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 20:02:40