Skip to content

飞书会话标签页 API(租户级)

接口名称

飞书会话标签页 API -(IFeishuTenantV1ChatTabs)

功能描述

会话标签页是指飞书客户端某一会话顶部的标签页,通过 OpenAPI 支持添加、删除、更新以及获取会话标签页等操作。 当前接口使用租户令牌访问,适应于租户应用场景。

参考文档

函数列表

函数名称功能描述认证方式HTTP 方法
CreateChatTabsByIdAsync创建会话标签页租户令牌POST
UpdateChatTabsByIdAsync更新会话标签页租户令牌POST
DeleteChatTabsByIdAsync删除会话标签页租户令牌DELETE
ChatTabsSortByIdAsync排序会话标签页租户令牌POST
GetChatTabsListByIdAsync获取会话标签页列表租户令牌POST

函数详细内容

创建会话标签页

函数名称:创建会话标签页

函数签名

csharp
Task<FeishuApiResult<ChatTabsCreateResult>?> CreateChatTabsByIdAsync(
    [Path] string chat_id,
    [Body] CreateChatTabsRequest createChatTabsRequest,
    [Query("user_id_type")] string user_id_type = "open_id",
    [Query("set_bot_manager")] bool? set_bot_manager = false,
    [Query("uuid")] string? uuid = null,
    CancellationToken cancellationToken = default);

认证:租户令牌

参数

参数类型必填说明
chat_idstring群 ID,示例:"oc_a0553eda9014c201e6969b478895c230"
createChatTabsRequestCreateChatTabsRequest添加会话标签页请求体
user_id_typestring用户 ID 类型,默认值:"open_id"
set_bot_managerbool?是否设置机器人为管理员,默认值:false
uuidstring?去重唯一标识

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "chat_id": "oc_a0553eda9014c201e6969b478895c230",
    "tabs": [
      {
        "tab_id": "tab_001",
        "name": "项目文档",
        "type": "doc",
        "content": "doccnxxxxxx"
      }
    ]
  }
}

说明:创建会话标签页,支持添加文档类型(doc)或 URL 类型(url)的标签页。

代码示例

csharp
public class ChatTabsService
{
    private readonly IFeishuTenantV1ChatTabs _tabsClient;

    public ChatTabsService(IFeishuTenantV1ChatTabs tabsClient)
    {
        _tabsClient = tabsClient;
    }

    public async Task AddDocTabAsync(string chatId, string docToken, string tabName)
    {
        var request = new CreateChatTabsRequest
        {
            tabs = new List<ChatTab>
            {
                new ChatTab
                {
                    name = tabName,
                    type = "doc",
                    content = docToken
                }
            }
        };

        var result = await _tabsClient.CreateChatTabsByIdAsync(chatId, request);
        if (result?.Data != null)
        {
            Console.WriteLine($"标签页创建成功: {result.Data.tabs[0].tab_id}");
        }
    }
}

更新会话标签页

函数名称:更新会话标签页

函数签名

csharp
Task<FeishuApiResult<ChatTabsUpdateResult>?> UpdateChatTabsByIdAsync(
    [Path] string chat_id,
    [Body] UpdateChatTabsRequest updateChatTabsRequest,
    CancellationToken cancellationToken = default);

认证:租户令牌

参数

参数类型必填说明
chat_idstring群 ID
updateChatTabsRequestUpdateChatTabsRequest更新会话标签页请求体

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "tabs": [
      {
        "tab_id": "tab_001",
        "name": "更新后的名称",
        "type": "doc"
      }
    ]
  }
}

说明:更新指定的会话标签页信息,包括名称、类型以及内容等。仅支持更新文档类型(doc)或 URL(url)类型的标签页。


删除会话标签页

函数名称:删除会话标签页

函数签名

csharp
Task<FeishuApiResult<DeleteTabsResult>?> DeleteChatTabsByIdAsync(
    [Path] string chat_id,
    [Body] ChatTabsIdsRequest deleteChatTabsRequest,
    CancellationToken cancellationToken = default);

认证:租户令牌

参数

参数类型必填说明
chat_idstring群 ID
deleteChatTabsRequestChatTabsIdsRequest删除会话标签页请求体

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "deleted_tab_ids": ["tab_001", "tab_002"]
  }
}

说明:删除指定会话内的一个或多个会话标签页。

代码示例

csharp
public async Task RemoveTabsAsync(string chatId, List<string> tabIds)
{
    var request = new ChatTabsIdsRequest
    {
        tab_ids = tabIds
    };

    await _tabsClient.DeleteChatTabsByIdAsync(chatId, request);
}

排序会话标签页

函数名称:排序会话标签页

函数签名

csharp
Task<FeishuApiResult<ChatTabsSortResult>?> ChatTabsSortByIdAsync(
    [Path] string chat_id,
    [Body] ChatTabsIdsRequest chatTabsSortRequest,
    CancellationToken cancellationToken = default);

认证:租户令牌

参数

参数类型必填说明
chat_idstring群 ID
chatTabsSortRequestChatTabsIdsRequest排序会话标签页请求体

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "tabs": [
      {
        "tab_id": "tab_002",
        "name": "任务看板",
        "sort_index": 0
      },
      {
        "tab_id": "tab_001",
        "name": "项目文档",
        "sort_index": 1
      }
    ]
  }
}

说明:调整指定会话内的多个会话标签页排列顺序。


获取会话标签页列表

函数名称:获取会话标签页列表

函数签名

csharp
Task<FeishuApiResult<GetChatTabsResult>?> GetChatTabsListByIdAsync(
    [Path] string chat_id,
    CancellationToken cancellationToken = default);

认证:租户令牌

参数

参数类型必填说明
chat_idstring群 ID

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "chat_id": "oc_a0553eda9014c201e6969b478895c230",
    "tabs": [
      {
        "tab_id": "tab_001",
        "name": "项目文档",
        "type": "doc",
        "content": "doccnxxxxxx",
        "sort_index": 0
      },
      {
        "tab_id": "tab_002",
        "name": "系统监控",
        "type": "url",
        "content": "https://monitor.example.com",
        "sort_index": 1
      }
    ]
  }
}

说明:获取指定会话内的会话标签页信息,包括 ID、名称、类型以及内容等。

代码示例

csharp
public async Task DisplayChatTabsAsync(string chatId)
{
    var result = await _tabsClient.GetChatTabsListByIdAsync(chatId);
    if (result?.Data?.tabs != null)
    {
        foreach (var tab in result.Data.tabs)
        {
            Console.WriteLine($"[{tab.type}] {tab.name}: {tab.content}");
        }
    }
}