# 更新云文档权限设置

更新指定云文档的权限设置，包括是否允许内容被分享到组织外、谁可以查看、添加、移除协作者、谁可以复制内容等设置。

**注意事项**：本接口为增量更新，即仅更新传入的参数对应的权限设置。若参数不传，则不更新设置。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/drive/v2/permissions/:token/public
HTTP Method | PATCH
接口频率限制 | [100 次/分钟](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 查看、编辑和管理知识库(wiki:wiki)<br>查看、评论、编辑和管理文档(docs:doc)<br>修改云文档权限设置(docs:permission.setting:write_only)<br>创建及编辑新版文档(docx:document)<br>查看、评论、编辑和管理云空间中所有文件(drive:drive)<br>上传、下载文件到云空间(drive:file)<br>查看、评论、编辑和管理电子表格(sheets:spreadsheet)<br>查看、评论、编辑和管理多维表格（套件内）(bitable:bitable)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>或<br>`user_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer u-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 路径参数

名称 | 类型 | 描述
---|---|---
token | string | 云文档的 token，需要与 type 参数指定的云文档类型相匹配。可参考[如何获取云文档资源相关 token](https://open.feishu.cn/document/ukTMukTMukTM/uczNzUjL3czM14yN3MTN#08bb5df6)。<br>**示例值**："doccnBKgoMyY5OMbUG6Fioabcef"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
type | string | 是 | 云文档类型，需要与云文档的 token 相匹配。<br>**示例值**：docx<br>**可选值有**：<br>- doc：旧版文档。了解更多，参考[新旧版本文档说明](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/docs/upgraded-docs-access-guide/upgraded-docs-openapi-access-guide)。<br>- sheet：电子表格<br>- file：云空间文件<br>- wiki：知识库节点<br>- bitable：多维表格<br>- docx：新版文档<br>- mindnote：思维笔记<br>- minutes：妙记<br>- slides：幻灯片

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
external_access_entity | string | 否 | 是否允许内容被分享到组织外<br>**示例值**："open"<br>**可选值有**：<br>- open：打开，即允许内容被分享到组织外<br>**注意**：内容是否支持分享到组织外，还与企业的安全设置相关。如果文档位于知识库中，还与知识空间的安全设置相关。<br>- closed：关闭，即不允许内容被分享到组织外<br>- allow_share_partner_tenant：仅允许内容分享给关联组织。了解关联组织，参考飞书帮助中心文档[关联组织介绍](https://www.feishu.cn/hc/zh-CN/articles/657083794612-%E5%85%B3%E8%81%94%E7%BB%84%E7%BB%87%E4%BB%8B%E7%BB%8D)。<br>**注意**：只有企业管理后台设置仅允许关联组织分享，才能设置为该值。
security_entity | string | 否 | 谁可以创建副本、打印、下载<br>**示例值**："anyone_can_view"<br>**可选值有**：<br>- anyone_can_view：拥有可阅读权限的用户<br>- anyone_can_edit：拥有可编辑权限的用户<br>- only_full_access：拥有可管理权限（包括我）的用户
comment_entity | string | 否 | 谁可以评论<br>**示例值**："anyone_can_view"<br>**可选值有**：<br>- anyone_can_view：拥有可阅读权限的用户<br>- anyone_can_edit：拥有可编辑权限的用户
share_entity | string | 否 | 从组织维度，设置谁可以查看、添加、移除协作者<br>**示例值**："anyone"<br>**可选值有**：<br>- anyone：所有可阅读或编辑此文档的用户<br>- same_tenant：组织内所有可阅读或编辑此文档的用户
manage_collaborator_entity | string | 否 | 从协作者维度，设置谁可以查看、添加、移除协作者<br>**示例值**："collaborator_can_view"<br>**可选值有**：<br>- collaborator_can_view：拥有可阅读权限的协作者<br>- collaborator_can_edit：拥有可编辑权限的协作者<br>- collaborator_full_access：拥有可管理权限（包括我）的协作者
link_share_entity | string | 否 | 链接分享设置<br>**示例值**："tenant_readable"<br>**可选值有**：<br>- tenant_readable：组织内获得链接的人可阅读<br>- tenant_editable：组织内获得链接的人可编辑<br>- partner_tenant_readable：[关联组织](https://www.feishu.cn/hc/zh-CN/articles/657083794612-%E5%85%B3%E8%81%94%E7%BB%84%E7%BB%87%E4%BB%8B%E7%BB%8D)的人可阅读<br>**注意**：只有企业管理后台设置仅允许关联组织分享，才能设置为该值。<br>- partner_tenant_editable：[关联组织](https://www.feishu.cn/hc/zh-CN/articles/657083794612-%E5%85%B3%E8%81%94%E7%BB%84%E7%BB%87%E4%BB%8B%E7%BB%8D)的人可编辑<br>**注意**：只有企业管理后台设置仅允许关联组织分享，才能设置为该值。<br>- anyone_readable：互联网上获得链接的任何人可阅读（仅external_access=“open” 时有效）<br>- anyone_editable：互联网上获得链接的任何人可编辑（仅 external_access=“open” 时有效）<br>- closed：关闭链接分享
copy_entity | string | 否 | 谁可以复制内容<br>**示例值**："anyone_can_view"<br>**可选值有**：<br>- anyone_can_view：拥有可阅读权限的用户<br>- anyone_can_edit：拥有可编辑权限的用户<br>- only_full_access：拥有可管理权限（包括我）的协作者

### 请求体示例
```json
{
    "external_access_entity": "open",
    "security_entity": "anyone_can_view",
    "comment_entity": "anyone_can_view",
    "share_entity": "anyone",
    "manage_collaborator_entity": "collaborator_can_view",
    "link_share_entity": "tenant_readable",
    "copy_entity": "anyone_can_view"
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
permission_public | permission_public | 本次更新后的文档权限设置。如权限设置未更新，则不返回对应参数。
external_access_entity | string | 允许内容被分享到组织外<br>**可选值有**：<br>- open：打开，即允许内容被分享到组织外<br>- closed：关闭，即不允许内容被分享到组织外<br>- allow_share_partner_tenant：仅允许分享给关联组织
security_entity | string | 谁可以创建副本、打印、下载<br>**可选值有**：<br>- anyone_can_view：拥有可阅读权限的用户<br>- anyone_can_edit：拥有可编辑权限的用户<br>- only_full_access：拥有可管理权限（包括我）的用户
comment_entity | string | 谁可以评论<br>**可选值有**：<br>- anyone_can_view：拥有可阅读权限的用户<br>- anyone_can_edit：拥有可编辑权限的用户
share_entity | string | 从组织维度，设置谁可以查看、添加、移除协作者<br>**可选值有**：<br>- anyone：所有可阅读或编辑此文档的用户<br>- same_tenant：组织内所有可阅读或编辑此文档的用户
manage_collaborator_entity | string | 谁可以添加和管理协作者-协作者维度<br>**可选值有**：<br>- collaborator_can_view：拥有可阅读权限的协作者<br>- collaborator_can_edit：拥有可编辑权限的协作者<br>- collaborator_full_access：拥有可管理权限（包括我）的协作者
link_share_entity | string | 链接分享设置<br>**可选值有**：<br>- tenant_readable：组织内获得链接的人可阅读<br>- tenant_editable：组织内获得链接的人可编辑<br>- partner_tenant_readable：关联组织的人可阅读<br>- partner_tenant_editable：关联组织的人可编辑<br>- anyone_readable：互联网上获得链接的任何人可阅读（仅 external_access_entity=“open” 时有效）<br>- anyone_editable：互联网上获得链接的任何人可编辑（仅 external_access_entity=“open” 时有效）<br>- closed：关闭链接分享
copy_entity | string | 谁可以复制内容<br>**可选值有**：<br>- anyone_can_view：拥有可阅读权限的用户<br>- anyone_can_edit：拥有可编辑权限的用户<br>- only_full_access：拥有可管理权限（包括我）的协作者
lock_switch | boolean | 知识库中的子页面是否已限制权限，不再继承父级页面的权限设置。<br>**枚举值有：** <br>- `true`: 已限制权限<br>- `false`: 未限制权限<br>**提示**：当知识库中的子页面权限范围小于父级页面时，该页面权限将默认限制权限。<br>![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/a99780710c3f7e5e390280ff6d87fc47_HIjzKDxscr.png?maxWidth=200)

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "permission_public": {
            "external_access_entity": "open",
            "security_entity": "anyone_can_view",
            "comment_entity": "anyone_can_view",
            "share_entity": "anyone",
            "manage_collaborator_entity": "collaborator_can_view",
            "link_share_entity": "tenant_readable",
            "copy_entity": "anyone_can_view",
            "lock_switch": false
        }
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 1063001 | Invalid parameter | 参数异常，可能是如下原因：<br>- 参数类型不匹配，如：<br>- 云文档的 token 和 type 不匹配<br>- 云文档不存在<br>- 添加协作者的 member_id 和 member_type 不匹配<br>- 添加的协作者不存在<br>- 不支持的参数调用，如：<br>- 使用 `tenant_access_token` 添加部门协作者<br>- 给妙记添加可管理角色
403 | 1063002 | Permission denied | 调用身份对应的用户或应用不是云文档的[协作者](https://www.feishu.cn/hc/zh-CN/articles/064037224266-%E4%BA%91%E6%96%87%E6%A1%A3%E5%92%8C%E6%96%87%E4%BB%B6%E5%A4%B9%E5%8D%8F%E4%BD%9C%E8%80%85%E4%BB%8B%E7%BB%8D)或对云文档的权限（如编辑、管理权限）不足。请参考以下方式解决：<br>- 对于转移所有者接口，你需确保调用身份为云文档的所有者<br>- 对于协作者、权限设置相关接口，你需先参考[谁可以查看、添加、移除协作者](https://www.feishu.cn/hc/zh-CN/articles/360049067527-%E8%AE%BE%E7%BD%AE%E4%BA%91%E6%96%87%E6%A1%A3%E5%88%86%E4%BA%AB-%E5%A4%8D%E5%88%B6-%E4%B8%8B%E8%BD%BD-%E8%AF%84%E8%AE%BA%E7%AD%89%E6%9D%83%E9%99%90#tabs0|lineguid-Bp0bI)了解当前云文档的权限设置，再为调用身份开通所需权限：<br>- 如果你使用的是 `tenant_access_token`，你需通过云文档网页页面右上方 **「...」** -> **「...更多」** ->**「添加文档应用」** 入口为应用添加权限。<br>![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/22c027f63c540592d3ca8f41d48bb107_CSas7OYJBR.png?height=1994&maxWidth=550&width=3278)<br>**注意**：<br>- 在 **添加文档应用** 前，你需确保目标应用至少开通了一个云文档或多维表格的 [API 权限](https://open.feishu.cn/document/ukTMukTMukTM/uYTM5UjL2ETO14iNxkTN/scope-list)。否则你将无法在文档应用窗口搜索到目标应用。<br>- 如果多维表格开启了高级权限，你需为应用添加多维表格的 **可管理** 权限，否则仍无法操作多维表格。<br>![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/9f3353931fafeea16a39f0eb887db175_0tjzC9P3zU.png?maxWidth=550)<br>- 如果你使用的是 `user_access_token`，你需通过云文档网页页面右上方 **分享** 入口为当前用户添加权限。<br>![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/3e052d3bac56f9441296ae22e2969d63_a2DEYrJup8.png?height=278&maxWidth=550&width=1383)<br>了解具体操作步骤或其它添加权限方式，参考[云文档常见问题 3](https://open.feishu.cn/document/ukTMukTMukTM/uczNzUjL3czM14yN3MTN#16c6475a)。
400 | 1063003 | Invalid operation | 非法操作。该错误码表示基本参数校验没有问题，但操作不被允许，可能是如下原因：<br>- 云文档的协作者数量到达上限，请减少协作者数量<br>- 因企业设置的管控策略而无法修改权限<br>- 受可见性限制无法修改权限。例如：<br>- **添加用户协作者**：需要调用身份与被授权对象为联系人或同组织内可搜索，且互相未屏蔽。<br>- **添加群协作者**：需要调用身份在群内。要使用 `tenant_access_token` 身份添加群协作者，则需要将该应用作为机器人添加至群组中，使应用对群可见。详细步骤参考[如何为应用开通云文档相关资源的权限](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-add-permissions-to-app)。<br>- **添加部门协作者**：需要调用身份对部门可见。由于应用对企业内的组织架构都不可见，所以暂不支持通过 `tenant_access_token`  添加部门协作者。<br>- 给文档所有者添加权限（不允许对文档所有者操作权限）<br>- 协作者本身已有的权限大于请求参数内设置的权限
403 | 1063004 | User has no share permission | 用户无分享权限，请确认调用身份对该文档是否有分享权限。
404 | 1063005 | Resource is deleted | 资源已删除，请确认云文档是否还存在。
500 | 1066001 | Internal Error | 服务内部错误，包括服务端内部超时、错误码没处理等，请联系[技术支持](https://applink.feishu.cn/TLJpeNdW)排查。
500 | 1066002 | Concurrency error, please retry | 服务内部错误，请重试或联系[技术支持](https://applink.feishu.cn/TLJpeNdW)排查。

