使用 lark-cli 的 `wiki +member-list` 命令查询飞书知识库空间成员
使用 lark-cli 的wiki member-list命令查询飞书知识库空间成员【免费下载链接】cliThe official Lark/飞书 CLI tool, maintained by the larksuite team — built for humans and AI Agents. Covers core business domains including Messenger, Docs, Base, Sheets, Calendar, Mail, Tasks, Meetings, and more, with 200 commands and 20 AI Agent Skills.项目地址: https://gitcode.com/gh_mirrors/cli414/cli导读wiki member-list是飞书官方 CLI 工具 lark-cli本仓库gh_mirrors/cli414/cli提供的知识库Wiki空间成员查询命令底层封装飞书开放平台接口GET /open-apis/wiki/v2/spaces/:space_id/members。它既能以 JSON/表格/CSV 等多种格式输出空间成员与角色也支持--page-all自动翻页、--page-token游标续页并内置my_library个人知识库别名解析。读完本文你将掌握该命令的全部参数、输出结构、分页语义与权限要求并了解它在源码中的实现机制可直接用于知识库成员审计、权限巡检与自动化脚本。命令概览与核心能力member-list归属于 lark-cli 的 wiki 命令组是一条**只读Risk:read**的快捷命令。它在源码中的定义位于 shortcuts/wiki/wiki_member_list.go其行为与space-list、node-list保持统一默认只取一页数据需要翻页时显式传入--page-all或通过--page-token从指定游标续读。从 shortcuts/wiki/wiki_member_test.go 的注册测试可以确认知识库成员相关的三条命令member-add、member-remove、member-list同时挂载在命令组中其中命令对应接口风险等级所需 Scopemember-listGET /spaces/:space_id/membersreadwiki:member:retrievemember-addPOST /spaces/:space_id/memberswritewiki:member:createmember-removeDELETE /spaces/:space_id/members/:member_idwritewiki:member:update三条命令共享同一套参数校验与成员记录解析逻辑见 shortcuts/wiki/wiki_member_helpers.go因此本文讲解的--space-id语义、my_library别名规则等同样适用于另外两条成员管理命令。基础用法# 默认只取第一页默认每页 50 条 lark-cli wiki member-list --space-id space_id # 自动遍历所有页受 --page-limit 限制默认最多 10 页 lark-cli wiki member-list --space-id space_id --page-all # 自动遍历所有页不设页数上限 lark-cli wiki member-list --space-id space_id --page-all --page-limit 0 # 从指定游标续读无论是否带 --page-all都只取单页 lark-cli wiki member-list --space-id space_id --page-token TOKEN # 查询个人知识库仅限 user 身份 lark-cli wiki member-list --space-id my_library --as user # 切换输出格式 lark-cli wiki member-list --space-id space_id --format pretty lark-cli wiki member-list --space-id space_id --format table关于my_library个人知识库别名my_library是飞书为每个用户提供的“我的知识库”别名。传给它时CLI 会先调用GET /open-apis/wiki/v2/spaces/my_library解析出当前用户真实的space_id再以该 ID 发起成员查询——这是一次两步编排resolve → list。源码见 shortcuts/wiki/wiki_node_create.go 的resolveMyLibrarySpaceID以及 shortcuts/wiki/wiki_member_list.go 的 DryRun 实现。注意my_library是 per-user按用户的别名仅对user身份有效。若以--as bot传入my_library会在校验阶段直接被拒绝报错bot identity does not support --space-id my_library; use an explicit --space-id。这条规则由validateWikiMemberSpaceID强制实施shortcuts/wiki/wiki_member_helpers.go并有对应测试用例覆盖shortcuts/wiki/wiki_member_test.go。参数详解参数类型必填默认值说明--space-idstring是—知识库空间 ID查询个人知识库时传my_library仅限 user 身份--page-sizeint否50每页条数取值范围 1–50--page-tokenstring否—分页游标一旦指定即退化为单页拉取不自动翻页--page-allbool否false自动翻页遍历所有页受--page-limit封顶--page-limitint否10--page-all模式下最多拉取页数0 表示不限--formatenum否jsonjson/pretty/table/csv/ndjson--asenum否auto身份user/bot知识库以用户为中心建议显式传--as user参数校验规则源码级从源码Validate函数shortcuts/wiki/wiki_member_list.go可以确认两条硬性校验--space-id不能为空且必须是通过资源名校验的合法名称缺失时报错--space-id is required and cannot be blank并有测试TestWikiMemberListRequiresSpaceID验证shortcuts/wiki/wiki_member_test.go。--page-size必须在 1–50 之间常量wikiMemberListMaxPageSize 50定义于 shortcuts/wiki/wiki_member_list.go--page-limit必须是非负整数。校验逻辑由validateWikiListPagination提供shortcuts/wiki/wiki_space_list.go。分页标志的组合语义--page-all与--page-token同时出现时--page-token优先命令会打印警告warning: --page-token is set, so --page-all is ignored (single-page fetch from the supplied cursor)然后只从该游标拉取一页。这一判定逻辑位于wikiListShouldAutoPaginate与warnIfConflictingPagingFlagsshortcuts/wiki/wiki_space_list.go。输出格式与字段说明JSON 输出示例{ ok: true, data: { space_id: 7160145948494381236, members: [ { member_id: ou_449b53ad6aee526f7ed311b216aabcef, member_type: openid, member_role: admin }, { member_id: ou_67e5ecb64ce1c0bd94612c17999db411, member_type: openid, member_role: member } ], has_more: false, page_token: }, meta: { count: 2 } }字段说明data.space_id实际查询的知识库空间 ID传入my_library时这里返回解析后的真实 ID见测试TestWikiMemberListResolvesMyLibraryForUsershortcuts/wiki/wiki_member_test.godata.members[]成员数组每项包含member_id成员 ID、member_type成员类型、member_role成员角色data.members[].type可选字段当服务端返回user/chat/department时透传由wikiMemberRecord解析shortcuts/wiki/wiki_member_helpers.godata.has_more/data.page_token默认单页拉取或--page-all被--page-limit截断且上游仍有后续数据时has_moretrue且page_token游标调用方可用该游标续读meta.count本次返回的成员总数JSON 输出由runtime.OutFormat注入见 shortcuts/wiki/wiki_member_list.go。Pretty 输出--format pretty会以缩进块的形式展示成员列表并保留member_type、member_role与可选的type字段。若当前页为空但服务端报告还有更多数据它会提示Current page is empty but the server reports more pages.并给出next page_token引导你继续翻页若确实没有成员则输出No wiki space members found.。渲染逻辑见renderWikiMembersPrettyshortcuts/wiki/wiki_member_list.go。自动翻页的底层实现fetchWikiMembersshortcuts/wiki/wiki_member_list.go实现了完整的分页循环其行为要点如下每页请求都携带page_size游标非空时追加page_token参数非自动模式未传--page-all拉取一页后立即退出自动模式下若has_morefalse或page_token为空则自然结束防死循环保护若服务端返回的page_token与请求时相同却仍标记has_moretrue则打印Stopping pagination: server returned a non-advancing page_token.并停止避免无限循环--page-limit在自动模式下限制最多请求页数pageLimit 0 page1 pageLimit时停止。测试TestWikiMemberListAutoPaginatesAcrossPagesshortcuts/wiki/wiki_member_test.go通过 httpmock 桩验证了第二页请求确实携带了上一页返回的page_token并断言自然结束时has_more与page_token被清空TestWikiMemberListPageLimitTruncatesAndExposesNextCursorshortcuts/wiki/wiki_member_test.go则验证了--page-limit 1截断后输出仍保留has_moretrue与下一游标便于调用方续读。与成员删除/添加命令的配合member-list的输出可直接作为member-remove的输入将输出中的member_id作为--member-idmember_type与member_role必须原样传递因为DELETE /spaces/:space_id/members/:member_id的请求体依赖这两者来精确定位授权记录见 skills/lark-wiki/references/lark-wiki-member-remove.md。可接受的成员类型集合在源码中固定为openid、userid、email、unionid、openchat、opendepartmentid、appid角色集合为admin、member见 shortcuts/wiki/wiki_member_helpers.go。权限要求与注意事项所需 Scopewiki:member:retrieve。源码中声明了最窄的、该接口实际接受的 Scopeshortcuts/wiki/wiki_member_list.go这样只携带wiki:member:retrieve的 token 也能通过授权校验测试TestWikiMemberShortcutsDeclareNarrowScopes固化了这一契约防止未来被放宽shortcuts/wiki/wiki_member_test.go。身份AuthTypes为user与botshortcuts/wiki/wiki_member_test.go但知识库以用户为中心官方建议传--as user且my_library别名仅限 user 身份使用。Dry-run 预览--dry-run在--space-id my_library时预览 2 步解析 my_library → 列出成员其余情况预览 1 步列出成员。对应 DryRun 实现见 shortcuts/wiki/wiki_member_list.go。权限失败提示若当前用户或应用对目标空间/节点没有访问权限飞书统一错误码 131006CLI 会给出稳定的恢复提示——这是资源访问权限而非应用 Scope 授权问题不建议盲目重试或切换身份应请知识库管理员授权或改用有权限的资源见 shortcuts/wiki/wiki_helpers.go。适用前提以上行为均以当前仓库larksuite/cli源码与测试为准。使用前提已安装并完成 lark-cli 登录授权user 或 bot 身份且账号/应用已获得知识库空间的成员可见权限以及wiki:member:retrieve权限点。命令组注册与挂载位于 shortcuts/wiki/shortcuts.go更多知识库命令空间、节点、成员管理等可参考 skills/lark-wiki/references 目录下的配套文档。【免费下载链接】cliThe official Lark/飞书 CLI tool, maintained by the larksuite team — built for humans and AI Agents. Covers core business domains including Messenger, Docs, Base, Sheets, Calendar, Mail, Tasks, Meetings, and more, with 200 commands and 20 AI Agent Skills.项目地址: https://gitcode.com/gh_mirrors/cli414/cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Lark/飞书 CLI Slides 域 E2E 测试覆盖指南:7 个叶命令的 100% 覆盖设计与验证策略

Lark/飞书 CLI Slides 域 E2E 测试覆盖指南:7 个叶命令的 100% 覆盖设计与验证策略

CLIAI 技能 【免费下载链接】cli The official Lark/飞书 CLI tool, maintained by the larksuite team — built for humans and AI Agents. Covers core business domains including Messenger, Docs, Base, Sheets, Calendar, Mail, Tasks, Meetings, and more, with 200 co…

2026/9/23 3:15:38 阅读更多 →
电子工程师之家实战项目搭建:告别代码报错的5个关键步骤

电子工程师之家实战项目搭建:告别代码报错的5个关键步骤

电子工程师之家实战项目搭建:告别代码报错的5个关键步骤 刚把从网上抄来的电机控制代码复制到Keil里,按下编译键,屏幕上瞬间弹出一百多个错误?别慌,这几乎是每个进 电子工程师之家…

2026/9/23 3:15:38 阅读更多 →
Primavera-P6实战:从CPM计算到资源约束,把计划引擎用对

Primavera-P6实战:从CPM计算到资源约束,把计划引擎用对

简介:一套全面覆盖Primavera-P6软件操作与项目管理实践的全套培训幻灯片,面向项目计划工程师、PMO成员及需系统学习P6的项目管理人员,可有效解决计划编制、资源分配、进度跟踪和变更控制等核心问题。由PMP认证培训师周老师结合11年项目经验和…

2026/9/23 3:14:38 阅读更多 →

最新新闻

Cisco ONS15454 SDH配置实战:端口激活与VC4电路创建指南

Cisco ONS15454 SDH配置实战:端口激活与VC4电路创建指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 4:54:32 阅读更多 →
告别Typeless困境:Python渐进式类型提示实战指南

告别Typeless困境:Python渐进式类型提示实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 4:54:32 阅读更多 →
実行プランをハーネスの第一級市民にする:repo-template の PLANS.md 運用ガイド

実行プランをハーネスの第一級市民にする:repo-template の PLANS.md 運用ガイド

【免费下载链接】learn-harness-engineering Harness engineering beginner tutorial, from 0 to 1 项目地址: https://gitcode.com/gh_mirrors/le/learn-harness-engineering 点击查看 免费下载 本ガイドは、OpenAI アドバンストパック(docs/ja/resour…

2026/9/24 4:54:32 阅读更多 →
4G/5G分布式基站光纤前传链路详解:BBU与RRU之间的CPRI与CWDM方案

4G/5G分布式基站光纤前传链路详解:BBU与RRU之间的CPRI与CWDM方案

摘要:本文详解4G/5G分布式基站中BBU与RRU之间的光纤前传链路,涵盖CPRI协议承载的基带IQ信号传输、常用光模块选型、CWDM波分方案的光纤资源优化及组网维护要点。4G/5G分布式基站采用 BBU(基带处理单元) RRU(射频拉远单…

2026/9/24 4:54:32 阅读更多 →
别跟风死磕算法!普通程序员的「AI+」逆向入局、学习与变现全攻略!

别跟风死磕算法!普通程序员的「AI+」逆向入局、学习与变现全攻略!

从事互联网行业多年,从传统后端开发到AI工程落地,踩过无数程序员转型AI的坑。先抛出一个颠覆90%普通人认知的逆向结论:互联网+不是落幕,而是饱和内卷;AI+不是颠覆革命,而是传统技术的效率补全。普通程序员学AI,最大的误区是从头学算法、啃数学、追大模型,真正的捷径是反…

2026/9/24 4:54:32 阅读更多 →
在 IronClaw 中向 Google Slides 形状插入文本:google-slides 扩展 insert_text 能力深度解析

在 IronClaw 中向 Google Slides 形状插入文本:google-slides 扩展 insert_text 能力深度解析

人工智能AI 应用交互助手AI Agent 【免费下载链接】ironclaw IronClaw is an Agent OS focused on privacy, security and extensibility 项目地址: https://gitcode.com/gh_mirrors/iro/ironclaw 点击查看 免费下载 本文以 IronClaw 仓库中 google-slides 扩展的能…

2026/9/24 4:53:32 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →