Skip to content

飞书会话标签页

接口名称

飞书用户会话标签页(用户令牌) -(IFeishuUserV1ChatTabs)

功能描述

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

参考文档

接口详细文档请参见:https://open.feishu.cn/document/group/chat-tab/chat-tab-overview

函数列表

函数名称功能描述认证方式HTTP 方法
CreateChatTabsByIdAsync在指定会话内添加自定义会话标签页,仅支持添加文档类型(doc)或 URL (url)类型的标签页用户令牌POST
UpdateChatTabsByIdAsync更新指定的会话标签页信息,包括名称、类型以及内容等。仅支持更新文档类型(doc)或 URL (url)类型的标签页用户令牌POST
DeleteChatTabsByIdAsync删除指定会话内的一个或多个会话标签页用户令牌DELETE
ChatTabsSortByIdAsync调整指定会话内的多个会话标签页排列顺序用户令牌POST
GetChatTabsListByIdAsync获取指定会话内的会话标签页信息,包括 ID、名称、类型以及内容等用户令牌POST

函数详细内容

创建会话标签页

函数签名

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

认证:用户令牌

参数

  • chat_id ✅ 必填 - 群 ID(string)
    示例值:"oc_a0553eda9014c201e6969b478895c230"
  • createChatTabsRequest ✅ 必填 - 添加会话标签页请求体(CreateChatTabsRequest)
  • user_id_type ⚪ 可选 - 用户 ID 类型(string)
    默认值:Consts.User_Id_Type
  • set_bot_manager ⚪ 可选 - 是否设置创建群的机器人为管理员(bool?)
    默认值:false,示例值:false
  • uuid ⚪ 可选 - 开发者生成的唯一字符串序列,用于请求去重(string)

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "chat_tabs": [
      {
        "tab_id": "7101214603622940671",
        "tab_name": "文档",
        "tab_type": "doc",
        "tab_content": {
          "doc": "https://example.feishu.cn/wiki/wikcnPIcqWjJQwkwDzrB9t40123xz"
        }
      }
    ]
  }
}

说明:一个会话内最多只允许添加 20 个自定义会话标签页,仅支持添加 doc、url 类型的标签页。

代码示例

typescript
// 创建会话标签页示例
const createChatTabs = async (chatId: string) => {
  const requestBody = {
    chat_tabs: [{
      tab_name: "文档",
      tab_type: "doc",
      tab_content: {
        doc: "https://example.feishu.cn/wiki/wikcnPIcqWjJQwkwDzrB9t40123xz"
      }
    }]
  };

  try {
    const result = await feishuClient.feishuUserV1ChatTabs.createChatTabsById(
      chatId, 
      requestBody
    );
    console.log('创建会话标签页成功:', result.data);
  } catch (error) {
    console.error('创建失败:', error);
  }
};

// 调用示例
createChatTabs("oc_a0553eda9014c201e6969b478895c230");

更新会话标签页

函数签名

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

认证:用户令牌

参数

  • chat_id ✅ 必填 - 群 ID(string)
    示例值:"oc_a0553eda9014c201e6969b478895c230"
  • updateChatTabsRequest ✅ 必填 - 更新会话标签页请求体(UpdateChatTabsRequest)

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "chat_tabs": [
      {
        "tab_id": "7101214603622940671",
        "tab_name": "更新后的文档",
        "tab_type": "doc",
        "tab_content": {
          "doc": "https://example.feishu.cn/wiki/wikcnPIcqWjJQwkwDzrB9t40123xz"
        }
      }
    ]
  }
}

说明:仅支持更新文档类型(doc)或 URL (url)类型的标签页。

代码示例

typescript
// 更新会话标签页示例
const updateChatTabs = async (chatId: string, tabId: string) => {
  const requestBody = {
    chat_tabs: [{
      tab_id: tabId,
      tab_name: "更新后的文档",
      tab_type: "doc",
      tab_content: {
        doc: "https://example.feishu.cn/wiki/wikcnPIcqWjJQwkwDzrB9t40123xz"
      }
    }]
  };

  try {
    const result = await feishuClient.feishuUserV1ChatTabs.updateChatTabsById(
      chatId, 
      requestBody
    );
    console.log('更新会话标签页成功:', result.data);
  } catch (error) {
    console.error('更新失败:', error);
  }
};

// 调用示例
updateChatTabs("oc_a0553eda9014c201e6969b478895c230", "7101214603622940671");

删除会话标签页

函数签名

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

认证:用户令牌

参数

  • chat_id ✅ 必填 - 群 ID(string)
    示例值:"oc_a0553eda9014c201e6969b478895c230"
  • deleteChatTabsRequest ✅ 必填 - 删除会话标签页请求体(ChatTabsIdsRequest)
    包含 tab_ids 字段,示例值:["7101214603622940671", "7101214603622940672"]

响应

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

说明:支持同时删除多个会话标签页。

代码示例

typescript
// 删除会话标签页示例
const deleteChatTabs = async (chatId: string, tabIds: string[]) => {
  const requestBody = {
    tab_ids: tabIds
  };

  try {
    const result = await feishuClient.feishuUserV1ChatTabs.deleteChatTabsById(
      chatId, 
      requestBody
    );
    console.log('删除会话标签页成功:', result.data);
  } catch (error) {
    console.error('删除失败:', error);
  }
};

// 调用示例
deleteChatTabs("oc_a0553eda9014c201e6969b478895c230", ["7101214603622940671"]);

调整会话标签页排序

函数签名

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

认证:用户令牌

参数

  • chat_id ✅ 必填 - 群 ID(string)
    示例值:"oc_a0553eda9014c201e6969b478895c230"
  • chatTabsSortRequest ✅ 必填 - 排序会话标签页请求体(ChatTabsIdsRequest)
    包含 tab_ids 字段,按排序顺序列出标签页 ID

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "chat_tabs": [
      {
        "tab_id": "7101214603622940672",
        "tab_name": "文档",
        "tab_type": "doc"
      },
      {
        "tab_id": "7101214603622940671",
        "tab_name": "链接",
        "tab_type": "url"
      }
    ]
  }
}

说明:tab_ids 数组中的顺序即为标签页的排序顺序。

代码示例

typescript
// 调整会话标签页排序示例
const sortChatTabs = async (chatId: string, sortedTabIds: string[]) => {
  const requestBody = {
    tab_ids: sortedTabIds
  };

  try {
    const result = await feishuClient.feishuUserV1ChatTabs.chatTabsSortById(
      chatId, 
      requestBody
    );
    console.log('排序成功:', result.data);
  } catch (error) {
    console.error('排序失败:', error);
  }
};

// 调用示例:将第二个标签页移到前面
sortChatTabs("oc_a0553eda9014c201e6969b478895c230", ["7101214603622940672", "7101214603622940671"]);

获取会话标签页列表

函数签名

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

认证:用户令牌

参数

  • chat_id ✅ 必填 - 群 ID(string)
    示例值:"oc_a0553eda9014c201e6969b478895c230"

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "chat_tabs": [
      {
        "tab_id": "7101214603622940671",
        "tab_name": "文档",
        "tab_type": "doc",
        "tab_content": {
          "doc": "https://example.feishu.cn/wiki/wikcnPIcqWjJQwkwDzrB9t40123xz"
        }
      },
      {
        "tab_id": "7101214603622940672",
        "tab_name": "链接",
        "tab_type": "url",
        "tab_content": {
          "url": "https://www.feishu.cn"
        }
      }
    ]
  }
}

说明:返回指定会话内所有会话标签页的详细信息,包括 ID、名称、类型和内容。

代码示例

typescript
// 获取会话标签页列表示例
const getChatTabsList = async (chatId: string) => {
  try {
    const result = await feishuClient.feishuUserV1ChatTabs.getChatTabsListById(chatId);
    console.log('会话标签页列表:', result.data.chat_tabs);
    
    // 遍历标签页
    result.data.chat_tabs.forEach(tab => {
      console.log(`标签页: ${tab.tab_name} (${tab.tab_type})`);
    });
  } catch (error) {
    console.error('获取列表失败:', error);
  }
};

// 调用示例
getChatTabsList("oc_a0553eda9014c201e6969b478895c230");