Skip to content

电子表格数据保护 ​

数据保护 - IFeishuV2SpreadsheetProtected

功能描述 ​

电子表格数据保护用于设置电子表格保护范围,指对工作表中的任意行或列进行保护,并可设置其他协作者是否有权限编辑该数据,有效保障数据信息安全。

本接口提供增加、修改、获取和删除保护范围的能力。

参考文档 ​

接口变体 ​

接口名称认证方式说明
IFeishuTenantV2SpreadsheetProtected租户令牌(TenantAccessToken)应用身份访问
IFeishuUserV2SpreadsheetProtected用户令牌(UserAccessToken)用户身份访问

函数列表 ​

函数名称功能描述认证方式HTTP 方法接口文档
CreateProtectedAsync增加保护范围租户令牌 / 用户令牌POSTCreateProtectedAsync
UpdateProtectedAsync修改保护范围租户令牌 / 用户令牌POSTUpdateProtectedAsync
GetProtectedAsync获取保护范围租户令牌 / 用户令牌GETGetProtectedAsync
DeleteProtectedAsync删除保护范围租户令牌 / 用户令牌DELETEDeleteProtectedAsync

函数详细内容 ​

CreateProtectedAsync ​

增加保护范围。在电子表格工作表中设置多个保护范围,支持对行或列设置保护范围。

函数签名

csharp
Task<FeishuApiResult<CreateProtectedResult>?> CreateProtectedAsync(
    [Path] string spreadsheet_token,
    [Body] CreateProtectedRequest createProtectedRequest,
    [Query("user_id_type")] string? user_id_type = Consts.User_Id_Type,
    CancellationToken cancellationToken = default);

认证
租户令牌 / 用户令牌

参数

参数名类型必填描述示例
spreadsheet_tokenstring✅电子表格的 token"Iow7sNNEphp3WbtnbCscPqabcef"
createProtectedRequestCreateProtectedRequest✅创建保护范围的请求体—
user_id_typestring?⚪请求体中 users 字段对应的用户 ID 类型"open_id"
cancellationTokenCancellationToken⚪取消操作令牌对象—

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    // CreateProtectedResult
  }
}

说明
支持对行或列设置保护范围,并可设置其他协作者是否有权限编辑该数据。

代码示例

csharp
// 租户令牌方式
var tenantApi = feishuClient.TenantV2SpreadsheetProtected;
var result = await tenantApi.CreateProtectedAsync(
    "Iow7sNNEphp3WbtnbCscPqabcef",
    new CreateProtectedRequest { /* ... */ });

// 用户令牌方式
var userApi = feishuClient.UserV2SpreadsheetProtected;
var result = await userApi.CreateProtectedAsync(
    "Iow7sNNEphp3WbtnbCscPqabcef",
    new CreateProtectedRequest { /* ... */ });

UpdateProtectedAsync ​

修改保护范围。修改电子表格工作表中指定的保护范围。

函数签名

csharp
Task<FeishuApiResult<UpdateProtectedResult>?> UpdateProtectedAsync(
    [Path] string spreadsheet_token,
    [Body] UpdateProtectedRequest updateProtectedRequest,
    CancellationToken cancellationToken = default);

认证
租户令牌 / 用户令牌

参数

参数名类型必填描述示例
spreadsheet_tokenstring✅电子表格的 token"Iow7sNNEphp3WbtnbCscPqabcef"
updateProtectedRequestUpdateProtectedRequest✅修改保护范围的请求体—
cancellationTokenCancellationToken⚪取消操作令牌对象—

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    // UpdateProtectedResult
  }
}

说明
可修改保护范围的行列范围、可编辑用户等信息。

代码示例

csharp
var result = await tenantApi.UpdateProtectedAsync(
    "Iow7sNNEphp3WbtnbCscPqabcef",
    new UpdateProtectedRequest { /* ... */ });

GetProtectedAsync ​

获取保护范围。获取电子表格工作表中指定保护范围的信息,包括保护的行列索引、支持编辑的用户 ID、保护范围的备注等。

函数签名

csharp
Task<FeishuApiResult<GetProtectedResult>?> GetProtectedAsync(
    [Path] string spreadsheet_token,
    [Query("protectIds")] string protectIds,
    [Query("memberType")] string? memberType = Consts.User_Id_Type,
    CancellationToken cancellationToken = default);

认证
租户令牌 / 用户令牌

参数

参数名类型必填描述示例
spreadsheet_tokenstring✅电子表格的 token"Iow7sNNEphp3WbtnbCscPqabcef"
protectIdsstring✅要获取的保护范围的 ID 列表,多个 ID 之间逗号分隔"7379738014546812456,7379738014546812456"
memberTypestring?⚪返回的用户 ID 的类型,默认为 userId,建议选择 openId"open_id"
cancellationTokenCancellationToken⚪取消操作令牌对象—

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    // GetProtectedResult
  }
}

说明
返回保护范围的行列索引、支持编辑的用户 ID、保护范围的备注等信息。

代码示例

csharp
var result = await tenantApi.GetProtectedAsync(
    "Iow7sNNEphp3WbtnbCscPqabcef",
    "7379738014546812456,7379738014546812457");

DeleteProtectedAsync ​

删除保护范围。根据保护范围 ID 删除保护范围。

函数签名

csharp
Task<FeishuApiResult<DeleteProtectedResult>?> DeleteProtectedAsync(
    [Path] string spreadsheet_token,
    [Query("protectIds")] string protectIds,
    CancellationToken cancellationToken = default);

认证
租户令牌 / 用户令牌

参数

参数名类型必填描述示例
spreadsheet_tokenstring✅电子表格的 token"Iow7sNNEphp3WbtnbCscPqabcef"
protectIdsstring✅要删除的保护范围的 ID 列表,多个 ID 之间逗号分隔"7379738014546812456,7379738014546812456"
cancellationTokenCancellationToken⚪取消操作令牌对象—

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    // DeleteProtectedResult
  }
}

说明
根据保护范围 ID 删除保护范围,支持一次删除多个保护范围。

代码示例

csharp
var result = await tenantApi.DeleteProtectedAsync(
    "Iow7sNNEphp3WbtnbCscPqabcef",
    "7379738014546812456,7379738014546812457");