Skip to content

IFeishuTenantV1MailFolder - 租户邮箱文件夹API ​

功能描述 ​

飞书邮箱文件夹API接口实现了修改、查询、删除等邮箱文件夹管理功能。支持租户管理员通过租户访问令牌管理企业内所有用户的邮箱文件夹。

参考文档 ​

函数列表 ​

函数名称功能描述认证方式HTTP 方法接口文档
GetUserMailboxFoldeAsync获取邮箱文件夹信息TenantAccessTokenGETGetUserMailboxFoldeAsync
CreateUserMailboxFoldeAsync创建邮箱文件夹TenantAccessTokenPOSTCreateUserMailboxFoldeAsync
DeleteUserMailboxFoldeAsync删除邮箱文件夹TenantAccessTokenDELETEDeleteUserMailboxFoldeAsync
UpdateUserMailboxFoldeAsync更新邮箱文件夹TenantAccessTokenPATCHUpdateUserMailboxFoldeAsync
GetUserMailboxFoldeListAsync列出邮箱文件夹TenantAccessTokenGETGetUserMailboxFoldeListAsync
GetAccessibleMailboxesUserMailboxAsync列出可访问的邮箱TenantAccessTokenGETGetAccessibleMailboxesUserMailboxAsync

函数详细内容 ​

GetUserMailboxFoldeAsync ​

获取邮箱文件夹信息

函数签名

csharp
Task<FeishuApiResult<UserMailboxFoldeOopsResult>?> GetUserMailboxFoldeAsync(
    [Path] string user_mailbox_id,
    [Path] string folder_id,
    CancellationToken cancellationToken = default);

认证 TenantAccessToken(租户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring✅用户邮箱地址,作为用户邮箱身份标识user@example.com
folder_idstring✅邮件文件夹唯一标识。可通过「获取邮箱文件夹列表」接口获取目标文件夹的 ID;若未传入该参数,默认返回根文件夹(收件箱)详情。7620095646711680541
cancellationTokenCancellationToken⚪取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "folder": {
      "id": "7620095646711680541",
      "name": "工作邮件",
      "parent_folder_id": "0",
      "folder_type": 2,
      "unread_message_count": 5,
      "unread_thread_count": 3
    }
  }
}

说明

  • 通过指定文件夹ID,获取文件夹信息,包括名称、类型等
  • 若未传入folder_id,默认返回根文件夹(收件箱)详情

代码示例

csharp
var folderApi = feishuApp.GetApi<IFeishuTenantV1MailFolder>();
var result = await folderApi.GetUserMailboxFoldeAsync("user@example.com", "7620095646711680541");
Console.WriteLine($"文件夹名称: {result?.Data?.Folder?.Name}");

CreateUserMailboxFoldeAsync ​

创建邮箱文件夹

函数签名

csharp
Task<FeishuApiResult<UserMailboxFoldeOopsResult>?> CreateUserMailboxFoldeAsync(
    [Path] string user_mailbox_id,
    [Body] CreateUserMailboxFoldeRequest createUserMailboxFoldeRequest,
    CancellationToken cancellationToken = default);

认证 TenantAccessToken(租户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring✅用户邮箱地址,作为用户邮箱身份标识user@example.com
createUserMailboxFoldeRequestCreateUserMailboxFoldeRequest✅创建用户邮箱文件夹请求对象-
cancellationTokenCancellationToken⚪取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "folder": {
      "id": "7620095646711680542",
      "name": "新建文件夹",
      "parent_folder_id": "0",
      "folder_type": 2
    }
  }
}

说明

  • 创建用户自定义的邮箱文件夹
  • 可用于分类管理邮件

代码示例

csharp
var folderApi = feishuApp.GetApi<IFeishuTenantV1MailFolder>();
var request = new CreateUserMailboxFoldeRequest
{
    Name = "工作邮件",
    ParentFolderId = "0"
};
var result = await folderApi.CreateUserMailboxFoldeAsync("user@example.com", request);
Console.WriteLine($"文件夹创建成功: {result?.Data?.Folder?.Id}");

DeleteUserMailboxFoldeAsync ​

删除邮箱文件夹

函数签名

csharp
Task<FeishuNullDataApiResult?> DeleteUserMailboxFoldeAsync(
    [Path] string user_mailbox_id,
    [Path] string folder_id,
    CancellationToken cancellationToken = default);

认证 TenantAccessToken(租户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring✅用户邮箱地址,作为用户邮箱身份标识user@example.com
folder_idstring✅邮件文件夹唯一标识7620095646711680541
cancellationTokenCancellationToken⚪取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": null
}

说明

  • 通过指定文件夹ID,删除对应的邮箱文件夹
  • 删除操作不可恢复
  • 系统文件夹(收件箱、已发送等)不可删除

代码示例

csharp
var folderApi = feishuApp.GetApi<IFeishuTenantV1MailFolder>();
var result = await folderApi.DeleteUserMailboxFoldeAsync("user@example.com", "7620095646711680541");
Console.WriteLine($"文件夹删除结果: {result.Code == 0}");

UpdateUserMailboxFoldeAsync ​

更新邮箱文件夹

函数签名

csharp
Task<FeishuNullDataApiResult?> UpdateUserMailboxFoldeAsync(
    [Path] string user_mailbox_id,
    [Path] string folder_id,
    [Body] UpdateUserMailboxFoldeRequest updateUserMailboxFoldeRequest,
    CancellationToken cancellationToken = default);

认证 TenantAccessToken(租户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring✅用户邮箱地址,作为用户邮箱身份标识user@example.com
folder_idstring✅邮件文件夹唯一标识7620095646711680541
updateUserMailboxFoldeRequestUpdateUserMailboxFoldeRequest✅更新用户邮箱文件夹请求对象-
cancellationTokenCancellationToken⚪取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": null
}

说明

  • 通过指定文件夹ID,更新对应的邮箱文件夹
  • 支持修改文件夹名称等属性

代码示例

csharp
var folderApi = feishuApp.GetApi<IFeishuTenantV1MailFolder>();
var request = new UpdateUserMailboxFoldeRequest
{
    Name = "更新后的文件夹名称"
};
var result = await folderApi.UpdateUserMailboxFoldeAsync("user@example.com", "7620095646711680541", request);
Console.WriteLine($"文件夹更新结果: {result.Code == 0}");

GetUserMailboxFoldeListAsync ​

列出邮箱文件夹

函数签名

csharp
Task<FeishuApiResult<GetUserMailboxFoldeListResult>?> GetUserMailboxFoldeListAsync(
    [Path] string user_mailbox_id,
    [Query] int? folder_type = null,
    CancellationToken cancellationToken = default);

认证 TenantAccessToken(租户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring✅用户邮箱地址,作为用户邮箱身份标识user@example.com
folder_typeint?⚪文件夹类型
- 1:系统文件夹
- 2:用户文件夹
2
cancellationTokenCancellationToken⚪取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "items": [
      {
        "id": "7620095646711680541",
        "name": "工作邮件",
        "parent_folder_id": "0",
        "folder_type": 2,
        "unread_message_count": 5,
        "unread_thread_count": 3
      }
    ]
  }
}

说明

  • 列出用户文件夹,可获取文件夹名称、文件夹ID、文件夹下的未读邮件和未读会话数量
  • 可通过folder_type参数筛选文件夹类型

代码示例

csharp
var folderApi = feishuApp.GetApi<IFeishuTenantV1MailFolder>();
var result = await folderApi.GetUserMailboxFoldeListAsync("user@example.com", folder_type: 2);
if (result?.Data?.Items != null)
{
    foreach (var folder in result.Data.Items)
    {
        Console.WriteLine($"文件夹: {folder.Name}, 未读: {folder.UnreadMessageCount}");
    }
}

GetAccessibleMailboxesUserMailboxAsync ​

列出可访问的邮箱

函数签名

csharp
Task<FeishuApiResult<GetAccessibleMailboxesUserMailboxResult>?> GetAccessibleMailboxesUserMailboxAsync(
    [Path] string user_mailbox_id,
    CancellationToken cancellationToken = default);

认证 TenantAccessToken(租户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring✅用户邮箱地址,作为用户邮箱身份标识user@example.com
cancellationTokenCancellationToken⚪取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "accessible_mailboxes": [
      {
        "email_address": "user@example.com",
        "email_type": "USER_PRIMARY"
      },
      {
        "email_address": "public@company.com",
        "email_type": "PUBLIC_MAILBOX"
      }
    ]
  }
}

说明

  • 列出可访问的邮箱,包括拥有读信和发信权限的主账号、公共邮箱
  • 可用于切换操作的邮箱账户

代码示例

csharp
var folderApi = feishuApp.GetApi<IFeishuTenantV1MailFolder>();
var result = await folderApi.GetAccessibleMailboxesUserMailboxAsync("user@example.com");
if (result?.Data?.AccessibleMailboxes != null)
{
    foreach (var mailbox in result.Data.AccessibleMailboxes)
    {
        Console.WriteLine($"可访问邮箱: {mailbox.EmailAddress}, 类型: {mailbox.EmailType}");
    }
}