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

如何在Microsoft Graph API 5.18的C#代码中指定用户ID移动邮件?

使用Microsoft Graph API 5.18指定用户ID移动筛选后的邮件

核心API调用替换

直接把针对当前用户的.Me替换为Users[目标用户ID],就能定位到指定用户的邮件资源。比如原来的graphClient.Me.Messages改成graphClient.Users[archiveUserId].Messages,其中archiveUserId就是你要操作的用户ID(比如ArchiveUser.Id)。

请求体定义

移动邮件需要传入MovePostRequestBody对象,只需要指定目标文件夹的ID(DestinationId)即可,这个类是Graph SDK内置的,无需手动定义。

完整代码示例

以下是筛选指定用户的未读邮件并移动到目标文件夹的完整代码:

using Microsoft.Graph;
using Microsoft.Graph.Models;

// 初始化已授权的GraphClient(你已实现此部分)
var graphClient = GetAuthenticatedGraphClient();

// 目标用户ID和目标文件夹ID
string targetUserId = "ArchiveUser.Id"; // 替换为实际用户ID
string targetFolderId = "目标文件夹的ID"; // 替换为实际文件夹ID

try
{
    // 筛选目标用户的未读邮件(可根据需求修改Filter条件)
    var messages = await graphClient.Users[targetUserId].Messages
        .GetAsync(requestConfig =>
        {
            requestConfig.QueryParameters.Filter = "IsRead eq false";
            requestConfig.QueryParameters.Select = new[] { "Id" }; // 只获取邮件ID,减少数据传输
        });

    if (messages?.Value != null && messages.Value.Any())
    {
        foreach (var message in messages.Value)
        {
            // 构造移动请求体
            var moveRequestBody = new MovePostRequestBody
            {
                DestinationId = targetFolderId
            };

            // 执行移动操作
            await graphClient.Users[targetUserId].Messages[message.Id]
                .Move.PostAsync(moveRequestBody);

            Console.WriteLine($"邮件 {message.Id} 已移动");
        }
    }
    else
    {
        Console.WriteLine("没有符合条件的邮件");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"移动邮件失败:{ex.Message}");
}

注意事项

  • 确保当前授权用户拥有访问目标用户邮箱的权限(你的权限配置已覆盖,但实际场景中需确认用户间的访问权限)
  • 筛选条件可根据需求自定义,比如按主题筛选:"Subject contains '归档'",按收件时间筛选:"ReceivedDateTime ge 2024-01-01T00:00:00Z"
  • 如果需要批量移动大量邮件,建议分页获取邮件(添加Top和Skip参数),避免单次请求数据量过大

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 00:27:17