增加协作者权限
为指定云文档添加协作者,协作者可以是用户、群组、部门、用户组等。
前提条件
- 调用该接口需要调用身份有该云文档添加协作者的权限。添加协作者的权限可通过云文档设置中的 谁可以查看、添加、移除协作者 等选项进行控制。
- 调用该接口时,需要调用身份与被授权对象 互相可见,例如:
- 添加用户协作者:需要调用身份与被授权对象为联系人或同组织内可搜索,且互相未屏蔽。
- 添加群协作者:需要调用身份在群内。要使用
tenant_access_token身份添加群协作者,则需要将该应用作为机器人添加至群组中,使应用对群可见。详细步骤参考如何为应用开通云文档相关资源的权限。 - 添加部门协作者:需要调用身份对部门可见。由于应用对企业内的组织架构都不可见,所以暂不支持通过
tenant_access_token添加部门协作者。
注意事项
不支持将应用直接添加到文件夹作为协作者(添加成功后实际仍然没有权限)。如果希望给应用授予文件夹的权限,请将应用作为群机器人添加到群组内,然后授予该群组可管理权限。详细步骤参考如何为应用开通云文档相关资源的权限。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/drive/v1/permissions/:token/members |
| HTTP Method | POST |
| 接口频率限制 | 100 次/分钟 |
| 支持的应用类型 | custom,isv |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可 | bitable:app 查看、评论、编辑和管理多维表格 wiki:wiki 查看、编辑和管理知识库 docs:doc 查看、评论、编辑和管理文档 docs:permission.member:create 添加云文档协作者 drive:drive 查看、评论、编辑和管理云空间中所有文件 drive:file 上传、下载文件到云空间 sheets:spreadsheet 查看、评论、编辑和管理电子表格 bitable:bitable 查看、评论、编辑和管理多维表格(套件内) |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | tenant_access_token 或 user_access_token 值格式:"Bearer access_token" 示例值:"Bearer u-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token |
| Content-Type | string | 是 | 固定值:"application/json; charset=utf-8" |
路径参数
| 名称 | 类型 | 描述 |
|---|---|---|
token | string | 云文档的 token,需要与 type 参数指定的云文档类型相匹配。可参考如何获取云文档资源相关 token。 示例值:"doccnBKgoMyY5OMbUG6FioTXuBe" |
查询参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
type | string | 是 | 云文档类型,需要与云文档的 token 相匹配。 示例值:docx 可选值有: - doc: 旧版文档。了解更多,参考新旧版本文档说明。 - sheet: 电子表格 - file: 云空间文件 - wiki: 知识库节点 - bitable: 多维表格 - docx: 新版文档 - folder: 文件夹。使用 tenant_access_token 调用时,需确保文件夹所有者为应用或应用拥有文件夹的可管理权限,你需要将应用作为群机器人添加至群内,然后授予该群组可管理权限。详细步骤参考如何为应用开通云文档相关资源的权限 - mindnote: 思维笔记 - minutes: 妙记。目前妙记还不支持 full_access 权限角色 - slides: 幻灯片 |
need_notification | boolean | 否 | 添加权限后是否通知对方。 可选值: - true:通知对方 - false:不通知 注意: 仅当使用 user_access_token 调用时,该参数有效。示例值:false 默认值: false |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
member_type | string | 是 | 协作者 ID 类型,与协作者 ID 需要对应 示例值:"openid" 可选值有: - email: 飞书邮箱 - openid: 开放平台 Open ID - 获取应用 OpenID,参考如何获取应用 open_id - 获取用户 OpenID,参考如何获取不同的用户 ID - unionid: 开放平台 Union ID。获取方式参考如何获取不同的用户 ID - openchat: 开放平台群组 ID。获取方式参考群 ID 说明 - opendepartmentid: 开放平台部门 ID。仅当使用 user_access_token 调用时,该参数有效。获取方式参考部门资源介绍 - userid: 用户 ID。获取方式参考如何获取不同的用户 ID - groupid: 自定义用户组 ID。获取方式参考用户组资源介绍 - wikispaceid: 知识空间 ID。仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数。获取方式参考知识库概述 |
member_id | string | 是 | 协作者 ID,该 ID 的类型与 member_type 指定的值需要保持一致。 示例值:"ou_1234567890abcdef1234567890abcdef" |
perm | string | 是 | 协作者对应的权限角色。 示例值:"view" 可选值有: - view: 可阅读角色 - edit: 可编辑角色 - full_access: 可管理角色。暂不支持妙记。 |
perm_type | string | 否 | 协作者的权限角色类型。当云文档类型为 wiki 即知识库节点时,该参数有效。 示例值:"container" 可选值有: - container: 当前页面及子页面 - single_page: 仅当前页面,当且仅当在知识库文档中该参数有效默认值: container |
type | string | 否 | 协作者类型。 注意:当 member_type 参数为 wikispaceid 时,该参数必填,且必须在 wiki_space_member、wiki_space_viewer、wiki_space_editor 中选择。默认值:"" 示例值:"user" 可选值有: - user: 用户 - chat: 群组 - department: 组织架构 - group: 用户组 - wiki_space_member: 知识库成员。即知识库 成员设置 中的成员角色。若在知识库 成员设置 页面中,成员分为了 可编辑成员 和 可阅读成员,则不再支持该参数。你需选择下方参数 - wiki_space_viewer: 知识库可阅读成员组。仅当知识库成员分为 可编辑成员 和 可阅读成员 时,支持该参数。 - wiki_space_editor: 知识库可编辑成员组。仅当知识库成员分为 可编辑成员 和 可阅读成员 时,支持该参数 |
请求体示例
json
{
"member_type": "openid",
"member_id": "ou_1234567890abcdef1234567890abcdef",
"perm": "view",
"perm_type": "container",
"type": "user"
}响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
code | int | 错误码,非 0 表示失败 |
msg | string | 错误描述 |
data | \- | - |
└ member | base_member | 本次添加权限的用户信息 |
└ member_type | string | 协作者 ID 类型,与协作者 ID 需要对应 可选值有: - email: 飞书邮箱 - openid: 开放平台 ID - unionid: 开放平台 UnionID - openchat: 开放平台群组 ID - opendepartmentid: 开放平台部门 ID - userid: 用户自定义 ID - groupid: 自定义用户组 ID - wikispaceid: 知识空间 ID |
└ member_id | string | 协作者 ID,与协作者 ID 类型需要对应 |
└ perm | string | 协作者对应的权限角色 可选值有: - view: 可阅读角色 - edit: 可编辑角色 - full_access: 可管理角色 |
└ perm_type | string | 协作者的权限角色类型 可选值有: - container: 当前页面及子页面 - single_page: 仅当前页面,当且仅当在知识库文档中该参数有效 |
└ type | string | 协作者类型 可选值有: - user: 用户 - chat: 群组 - department: 组织架构 - group: 用户组 - wiki_space_member: 知识库成员 - wiki_space_viewer: 知识库可阅读成员 - wiki_space_editor: 知识库可编辑成员 |
响应体示例
json
{
"code": 0,
"msg": "Success",
"data": {
"member": {
"member_type": "openid",
"member_id": "ou_67e5ecb64ce1c0bd94612c17999db411",
"perm": "view",
"perm_type": "container",
"type": "user"
}
}
}错误码
| HTTP状态码 | 错误码 | 描述 | 排查建议 |
|---|---|---|---|
| 400 | 1063001 | Invalid parameter | 参数异常,可能是如下原因: - 参数类型不匹配,如: - 云文档的 token 和 type 不匹配 - 云文档不存在 - 添加协作者的 member_id 和 member_type 不匹配 - 添加的协作者不存在 - 不支持的参数调用,如: - 使用 tenant_access_token 添加部门协作者 - 给妙记添加可管理角色 |
| 403 | 1063002 | Permission denied | 调用身份对应的用户或应用不是云文档的协作者或对云文档的权限(如编辑、管理权限)不足。请参考以下方式解决: - 对于转移所有者接口,你需确保调用身份为云文档的所有者 - 对于协作者、权限设置相关接口,你需先参考[谁可以查看、添加、移除协作者](https://www.feishu.cn/hc/zh-CN/articles/360049067527-设置云文档分享-复制-下载-评论等权限#tabs0 |
| 400 | 1063003 | Invalid operation | 非法操作。该错误码表示基本参数校验没有问题,但操作不被允许,可能是如下原因: - 云文档的协作者数量到达上限,请减少协作者数量 - 因企业设置的管控策略而无法修改权限 - 受可见性限制无法修改权限。例如: - 添加用户协作者:需要调用身份与被授权对象为联系人或同组织内可搜索,且互相未屏蔽。 - 添加群协作者:需要调用身份在群内。要使用 tenant_access_token 身份添加群协作者,则需要将该应用作为机器人添加至群组中,使应用对群可见。详细步骤参考如何为应用开通云文档相关资源的权限。 - 添加部门协作者:需要调用身份对部门可见。由于应用对企业内的组织架构都不可见,所以暂不支持通过 tenant_access_token 添加部门协作者。 - 给文档所有者添加权限(不允许对文档所有者操作权限) - 协作者本身已有的权限大于请求参数内设置的权限 |
| 403 | 1063004 | User has no share permission | 用户无分享权限,请确认调用身份对该文档是否有分享权限。 |
| 404 | 1063005 | Resource is deleted | 资源已删除,请确认云文档是否还存在。 |
| 500 | 1066001 | Internal Error | 服务内部错误,包括服务端内部超时、错误码没处理等,请联系技术支持排查。 |
| 500 | 1066002 | Concurrency error, please retry | 服务内部错误,请重试或联系技术支持排查。 |
