更新协作者权限
更新指定云文档中指定协作者的权限,包括可阅读、可编辑、可管理权限。
前提条件
- 该接口要求文档协作者已存在(可通过获取协作者列表确认)。如还未对文档协作者授权请先调用「增加协作者权限」 接口进行授权。 调用该接口需要调用身份有该云文档管理权限。
- 调用该接口时,需要调用身份与被授权对象 互相可见,例如:
- 为用户更新权限:需要调用身份与被授权对象为联系人或同组织内可搜索,且互相未屏蔽。
- 为群更新权限:需要调用身份在群内。要使用
tenant_access_token身份添加群协作者,则需要将该应用作为机器人添加至群组中,使应用对群可见。详细步骤参考如何为应用开通云文档相关资源的权限。 - 为部门更新权限:需要调用身份对部门可见。由于应用对企业内的组织架构都不可见,所以暂不支持通过
tenant_access_token添加部门协作者。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/drive/v1/permissions/:token/members/:member_id |
| HTTP Method | PUT |
| 接口频率限制 | 100 次/分钟 |
| 支持的应用类型 | custom,isv |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可 | bitable:app 查看、评论、编辑和管理多维表格 wiki:wiki 查看、编辑和管理知识库 docs:doc 查看、评论、编辑和管理文档 docs:permission.member:update 更新云文档协作者权限 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" |
member_id | string | 协作者 ID,该 ID 的类型与 member_type 指定的值需要保持一致。 示例值:"ou_7dab8a3d3cdcc9da365777c7ad535d62" |
查询参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
need_notification | boolean | 否 | 添加权限后是否通知对方。仅当使用 user_access_token 调用时有效。可选值: - true:通知对方 - false:不通知示例值:false 默认值: false |
type | string | 是 | 云文档类型,需要与云文档的 token 相匹配。 示例值:docx 可选值有: - doc: 旧版文档。了解更多,参考新旧版本文档说明。 - sheet: 电子表格 - file: 云空间文件 - wiki: 知识库节点 - bitable: 多维表格 - docx: 新版文档 - mindnote: 思维笔记 - minutes: 妙记 - slides: 幻灯片 |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
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。仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数。获取方式参考知识库概述 |
perm | string | 是 | 协作者对应的权限角色。 注意: 妙记还不支持可管理角色 示例值:"view" 可选值有: - view: 可阅读角色 - edit: 可编辑角色 - full_access: 可管理角色 |
perm_type | string | 否 | 协作者的权限角色类型 示例值:"container" 可选值有: - container: 当前页面及子页面 - single_page: 仅当前页面,当且仅当在知识库文档中该参数有效默认值: container |
type | string | 否 | 协作者类型 注意:当 member_type 参数为 wikispaceid 时必须传该参数默认值:"" 示例值:"user" 可选值有: - user: 用户 - chat: 群组 - department: 组织架构 - group: 用户组 - wiki_space_member: 知识库成员 - 注意:在知识库启用了成员分组功能后不支持该参数 - wiki_space_viewer: 知识库可阅读成员 - 注意:仅在知识库启用了成员分组功能后才支持该参数 - wiki_space_editor: 知识库可编辑成员 - 注意:仅在知识库启用了成员分组功能后才支持该参数 |
请求体示例
json
{
"member_type": "openid",
"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 的类型与 member_type 指定的值需要保持一致 |
└ perm | string | 协作者对应的权限角色 注意: 妙记还不支持可管理角色。 可选值有: - view: 可阅读角色 - edit: 可编辑角色 - full_access: 可管理角色 |
└ perm_type | string | 协作者的权限角色类型。当云文档类型为 wiki 即知识库节点时,该参数有效 可选值有: - container: 当前页面及子页面 - single_page: 仅当前页面,当且仅当在知识库文档中该参数有效 |
└ type | string | 协作者类型。 注意:当 member_type 参数为 wikispaceid 时,该参数必填。默认值:"" 可选值有: - 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_1234567890abcdef1234567890abcdef",
"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 | 服务内部错误,请重试或联系技术支持排查。 |
