feishu-cli-perm

>-

Skill file

Preview skill file
---
name: feishu-cli-perm
description: >-
  飞书云文档权限管理。支持添加/更新/删除/查看协作者、公开权限管理、分享密码、批量添加、
  权限检查、转移所有权。当用户请求"添加权限"、"权限管理"、"共享文档"、"授权"、
  "协作者"、"full_access"、"转移所有权"时使用。
argument-hint: <doc_token> --perm <view|edit|full_access>
user-invocable: true
allowed-tools: Bash(feishu-cli perm:*), Read
---

# 飞书权限管理技能

飞书云文档权限管理:添加/更新/删除/查看协作者、公开权限管理、分享密码、批量添加、权限检查、转移所有权。

## 适用场景

- 给飞书文档添加/更新/删除协作者权限
- 查看文档协作者列表
- 管理文档公开权限(外部访问、链接分享)
- 设置/刷新/删除分享密码
- 批量添加协作者
- 检查用户对文档的权限
- 转移文档所有权

## 前置条件

### 安装与认证

- **feishu-cli**:如尚未安装,请前往 [riba2534/feishu-cli](https://github.com/riba2534/feishu-cli) 获取安装方式
- **认证**:使用 **App Token(应用身份)**,需配置 App ID 和 App Secret(环境变量或 `~/.feishu-cli/config.yaml`)。无需 `auth login`(User Token 不适用于权限管理 API)。

### 所需权限 scope

| scope | 说明 |
|-------|------|
| `docs:permission.member:create` | 添加协作者 |
| `docs:permission.member:retrieve` | 查看协作者列表 |
| `docs:permission.member:update` | 更新协作者权限 |
| `docs:permission.member:delete` | 删除协作者 |
| `docs:permission.member:transfer` | 转移所有权 |
| `docs:permission.member:auth` | 检查用户权限 |
| `docs:permission.setting:read` / `docs:permission.setting:readonly` | 读取公开权限设置 |
| `docs:permission.setting:write_only` | 更新公开权限、密码管理 |

## 快速开始

```bash
# 给用户添加编辑权限(最常用操作)
feishu-cli perm add <TOKEN> --doc-type docx --member-type email --member-id user@example.com --perm edit --notification

# 查看文档协作者列表
feishu-cli perm list <TOKEN> --doc-type docx

# 删除指定协作者
feishu-cli perm delete <TOKEN> --doc-type docx --member-type email --member-id user@example.com
```

## 命令总览

### 一、基础操作

| 命令 | 说明 |
|------|------|
| `perm add` | 添加协作者权限 |
| `perm update` | 更新已有协作者的权限级别 |
| `perm list` | 查看协作者列表 |
| `perm delete` | 删除协作者 |

### 二、高级操作

| 命令 | 说明 |
|------|------|
| `perm batch-add` | 从 JSON 文件批量添加协作者 |
| `perm transfer-owner` | 转移文档所有权 |
| `perm auth` | 检查当前用户对文档的权限 |

### 三、公开设置

| 命令 | 说明 |
|------|------|
| `perm public-get` | 查看文档公开权限设置 |
| `perm public-update` | 更新公开权限(外部访问、链接分享等) |
| `perm password create` | 创建分享密码 |
| `perm password update` | 刷新分享密码 |
| `perm password delete` | 删除分享密码 |

## 命令详情

### 添加权限

```bash
feishu-cli perm add <TOKEN> \
  --doc-type <DOC_TYPE> \
  --member-type <MEMBER_TYPE> \
  --member-id <MEMBER_ID> \
  --perm <PERM> \
  [--notification]
```

### 更新权限

```bash
feishu-cli perm update <TOKEN> \
  --doc-type <DOC_TYPE> \
  --member-type <MEMBER_TYPE> \
  --member-id <MEMBER_ID> \
  --perm <PERM>
```

### 查看协作者列表

```bash
feishu-cli perm list <TOKEN> --doc-type <DOC_TYPE>
```

### 删除协作者

```bash
feishu-cli perm delete <TOKEN> \
  --doc-type <DOC_TYPE> \
  --member-type <MEMBER_TYPE> \
  --member-id <MEMBER_ID>
```

### 批量添加协作者

```bash
feishu-cli perm batch-add <TOKEN> \
  --doc-type <DOC_TYPE> \
  --members-file <members.json> \
  [--notification]
```

`--doc-type` 默认 `docx`,非 docx 文档(sheet / bitable / file / wiki / slides 等)必须显式指定,否则会按 docx 处理导致 API 报错。

members.json 格式(顶层为 JSON 数组):
```json
[
  {"member_type": "email", "member_id": "user1@example.com", "perm": "edit"},
  {"member_type": "email", "member_id": "user2@example.com", "perm": "view"}
]
```

### 转移所有权

```bash
feishu-cli perm transfer-owner <TOKEN> \
  --member-type <MEMBER_TYPE> \
  --member-id <MEMBER_ID> \
  [--notification] \
  [--remove-old-owner] \
  [--stay-put] \
  [--old-owner-perm <view|edit|full_access>]
```

| 参数 | 默认值 | 说明 |
|------|--------|------|
| `--notification` | true | 通知新所有者 |
| `--remove-old-owner` | false | 移除原所有者权限 |
| `--stay-put` | false | 文档保留在原位置 |
| `--old-owner-perm` | full_access | 原所有者保留权限(仅 remove-old-owner=false 时生效) |

### 权限检查

```bash
feishu-cli perm auth <TOKEN> --action <ACTION> [--doc-type <DOC_TYPE>]
```

可用的 action 值:`view`、`edit`、`share`、`comment`、`export`

### 查看公开权限

```bash
feishu-cli perm public-get <TOKEN>
```

### 更新公开权限

```bash
feishu-cli perm public-update <TOKEN> \
  [--external-access] \
  [--link-share-entity <anyone_readable|anyone_editable|...>]
```

### 分享密码管理

```bash
feishu-cli perm password create <TOKEN> [--doc-type <DOC_TYPE>]
feishu-cli perm password update <TOKEN> [--doc-type <DOC_TYPE>]
feishu-cli perm password delete <TOKEN> [--doc-type <DOC_TYPE>]
```

## 参数说明

### perm(权限级别)

| 值 | 说明 | 使用场景 |
|----|------|----------|
| `view` | 查看权限 | 只读分享给外部人员或大范围分享,保护文档不被误改 |
| `edit` | 编辑权限 | 团队协作编辑,日常最常用的权限级别 |
| `full_access` | 完全访问权限 | 管理员权限,包含管理协作者、文档设置、导出、查看历史版本等全部能力 |

### member-type(协作者 ID 类型)

| 值 | 别名(IM 风格) | 说明 | 使用场景 | 示例 |
|----|-----------------|------|----------|------|
| `email` | — | 邮箱 | **最常用**,精确到个人 | user@example.com |
| `openid` | `open_id` | Open ID | 通过开放平台获取的用户 ID | ou_xxx |
| `userid` | `user_id` | User ID | 企业内部用户 ID | 123456 |
| `unionid` | `union_id` | Union ID | 跨应用统一 ID | on_xxx |
| `openchat` | `chat_id` | 群聊 ID | **按群聊授权**,群内所有成员获得权限 | oc_xxx |
| `opendepartmentid` | — | 部门 ID | **按部门授权**,部门内所有成员获得权限 | od_xxx |
| `groupid` | — | 群组 ID | 用户组 | gc_xxx |
| `wikispaceid` | — | 知识空间 ID | 知识库空间 | ws_xxx |

> IM API 风格别名(`open_id`、`user_id`、`union_id`、`chat_id`)会自动映射为标准值,两种写法等效。

### doc-type(云文档类型)

| 值 | 说明 |
|----|------|
| `docx` | 新版文档(默认) |
| `doc` | 旧版文档 |
| `sheet` | 电子表格 |
| `bitable` | 多维表格 |
| `wiki` | 知识库 |
| `file` | 文件 |
| `folder` | 文件夹 |
| `mindnote` | 思维笔记 |
| `minutes` | 妙记 |
| `slides` | 幻灯片 |

### Token 前缀对应关系

| 前缀 | doc-type |
|------|----------|
| docx_ | docx |
| doccn | doc |
| sht_ | sheet |
| bascn | bitable |
| wikicn | wiki |
| fldcn | folder |

## 示例

### 按邮箱添加用户为编辑者

```bash
feishu-cli perm add docx_xxxxxx \
  --doc-type docx \
  --member-type email \
  --member-id user@example.com \
  --perm edit \
  --notification
```

### 更新已有权限为完全访问

```bash
feishu-cli perm update docx_xxxxxx \
  --doc-type docx \
  --member-type email \
  --member-id user@example.com \
  --perm full_access
```

### 给群聊添加编辑权限

```bash
feishu-cli perm add sht_xxxxxx \
  --doc-type sheet \
  --member-type openchat \
  --member-id oc_xxxxxx \
  --perm edit
```

### 按部门添加查看权限

```bash
feishu-cli perm add sht_xxxxxx \
  --doc-type sheet \
  --member-type opendepartmentid \
  --member-id od_xxxxxx \
  --perm view
```

### 转移所有权并保留原所有者查看权限

```bash
feishu-cli perm transfer-owner docx_xxxxxx \
  --member-type email \
  --member-id user@example.com \
  --old-owner-perm view
```

### 设置文档为"链接可读"

```bash
feishu-cli perm public-update docx_xxxxxx \
  --external-access \
  --link-share-entity anyone_readable
```

### 创建文档后标准授权流程

```bash
# 1. 授予完全访问权限
feishu-cli perm add <TOKEN> \
  --doc-type docx \
  --member-type email \
  --member-id user@example.com \
  --perm full_access \
  --notification

# 2. 转移文档所有权
feishu-cli perm transfer-owner <TOKEN> \
  --doc-type docx \
  --member-type email \
  --member-id user@example.com \
  --notification
```

## 错误排障

| 错误 | 原因 | 解决方法 |
|------|------|----------|
| `Permission denied` / 权限不足 | App 未开通相关权限 scope | 在飞书开放平台 -> 权限管理中申请 `docs:permission.member:create` 等权限 |
| `doc-type mismatch` / Token 无效 | doc-type 与实际文档类型不匹配 | 检查 Token 前缀:`docx_` -> docx、`sht_` -> sheet、`bascn` -> bitable |
| `member not found` | member-id 不存在或 member-type 不正确 | 确认邮箱/ID 正确,注意 email 类型需要用户的飞书注册邮箱 |
| `password create: Permission denied` | 分享密码为企业版功能 | 确认企业是否开通此功能,或联系管理员开启 |
| `transfer-owner: no permission` | 只有文档所有者或管理员可转移 | 先用 `perm list` 确认当前 App 身份,确保是文档创建者 |

## 参考文档

`perm add` 命令的详细参数枚举和输入检查清单见 `references/add_permission.md`。

Source

Creator's repository · riba2534/feishu-cli

View on GitHub

Security

Security checks in progress
Results will appear here once audits complete
What this skill can do
Reads your filesConnects to the internetRuns code on your machine
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk