gitee.com/larksuite/oapi-sdk-go/v3@v3.0.3/service/sheets/v3/api.go (about) 1 // Package sheets code generated by oapi sdk gen 2 /* 3 * MIT License 4 * 5 * Copyright (c) 2022 Lark Technologies Pte. Ltd. 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 8 * 9 * The above copyright notice and this permission notice, shall be included in all copies or substantial portions of the Software. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 12 */ 13 14 package larksheets 15 16 import ( 17 "context" 18 "net/http" 19 20 "gitee.com/larksuite/oapi-sdk-go/v3/core" 21 ) 22 23 func NewService(config *larkcore.Config) *SheetsService { 24 s := &SheetsService{config: config} 25 s.Spreadsheet = &spreadsheet{service: s} 26 s.SpreadsheetSheet = &spreadsheetSheet{service: s} 27 s.SpreadsheetSheetFilter = &spreadsheetSheetFilter{service: s} 28 s.SpreadsheetSheetFilterView = &spreadsheetSheetFilterView{service: s} 29 s.SpreadsheetSheetFilterViewCondition = &spreadsheetSheetFilterViewCondition{service: s} 30 s.SpreadsheetSheetFloatImage = &spreadsheetSheetFloatImage{service: s} 31 return s 32 } 33 34 type SheetsService struct { 35 config *larkcore.Config 36 Spreadsheet *spreadsheet // 表格 37 SpreadsheetSheet *spreadsheetSheet // 单元格 38 SpreadsheetSheetFilter *spreadsheetSheetFilter // 筛选 39 SpreadsheetSheetFilterView *spreadsheetSheetFilterView // 筛选视图 40 SpreadsheetSheetFilterViewCondition *spreadsheetSheetFilterViewCondition // 筛选条件 41 SpreadsheetSheetFloatImage *spreadsheetSheetFloatImage // 浮动图片 42 } 43 44 type spreadsheet struct { 45 service *SheetsService 46 } 47 type spreadsheetSheet struct { 48 service *SheetsService 49 } 50 type spreadsheetSheetFilter struct { 51 service *SheetsService 52 } 53 type spreadsheetSheetFilterView struct { 54 service *SheetsService 55 } 56 type spreadsheetSheetFilterViewCondition struct { 57 service *SheetsService 58 } 59 type spreadsheetSheetFloatImage struct { 60 service *SheetsService 61 } 62 63 // 创建表格 64 // 65 // - 使用该接口可以在指定的目录下创建在线表格。 66 // 67 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet/create 68 // 69 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/create_spreadsheet.go 70 func (s *spreadsheet) Create(ctx context.Context, req *CreateSpreadsheetReq, options ...larkcore.RequestOptionFunc) (*CreateSpreadsheetResp, error) { 71 // 发起请求 72 apiReq := req.apiReq 73 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets" 74 apiReq.HttpMethod = http.MethodPost 75 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 76 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 77 if err != nil { 78 return nil, err 79 } 80 // 反序列响应结果 81 resp := &CreateSpreadsheetResp{ApiResp: apiResp} 82 err = apiResp.JSONUnmarshalBody(resp) 83 if err != nil { 84 return nil, err 85 } 86 return resp, err 87 } 88 89 // 查找单元格 90 // 91 // - 按照指定的条件查找子表的某个范围内的数据符合条件的单元格位置。请求体中的 range 和 find 字段为必填。 92 // 93 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/find 94 // 95 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/find_spreadsheetSheet.go 96 func (s *spreadsheetSheet) Find(ctx context.Context, req *FindSpreadsheetSheetReq, options ...larkcore.RequestOptionFunc) (*FindSpreadsheetSheetResp, error) { 97 // 发起请求 98 apiReq := req.apiReq 99 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/find" 100 apiReq.HttpMethod = http.MethodPost 101 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeUser, larkcore.AccessTokenTypeTenant} 102 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 103 if err != nil { 104 return nil, err 105 } 106 // 反序列响应结果 107 resp := &FindSpreadsheetSheetResp{ApiResp: apiResp} 108 err = apiResp.JSONUnmarshalBody(resp) 109 if err != nil { 110 return nil, err 111 } 112 return resp, err 113 } 114 115 // 移动行列 116 // 117 // - 该接口用于移动行列,行列被移动到目标位置后,原本在目标位置的行列会对应右移或下移。 118 // 119 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/move_dimension 120 // 121 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/moveDimension_spreadsheetSheet.go 122 func (s *spreadsheetSheet) MoveDimension(ctx context.Context, req *MoveDimensionSpreadsheetSheetReq, options ...larkcore.RequestOptionFunc) (*MoveDimensionSpreadsheetSheetResp, error) { 123 // 发起请求 124 apiReq := req.apiReq 125 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/move_dimension" 126 apiReq.HttpMethod = http.MethodPost 127 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 128 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 129 if err != nil { 130 return nil, err 131 } 132 // 反序列响应结果 133 resp := &MoveDimensionSpreadsheetSheetResp{ApiResp: apiResp} 134 err = apiResp.JSONUnmarshalBody(resp) 135 if err != nil { 136 return nil, err 137 } 138 return resp, err 139 } 140 141 // 替换单元格 142 // 143 // - 按照指定的条件查找子表的某个范围内的数据符合条件的单元格并替换值,返回替换成功的单元格位置。一次请求最多允许替换5000个单元格,如果超过请将range缩小范围再操作。请求体中的 range、find、replaccement 字段必填。 144 // 145 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/replace 146 // 147 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/replace_spreadsheetSheet.go 148 func (s *spreadsheetSheet) Replace(ctx context.Context, req *ReplaceSpreadsheetSheetReq, options ...larkcore.RequestOptionFunc) (*ReplaceSpreadsheetSheetResp, error) { 149 // 发起请求 150 apiReq := req.apiReq 151 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/replace" 152 apiReq.HttpMethod = http.MethodPost 153 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeUser, larkcore.AccessTokenTypeTenant} 154 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 155 if err != nil { 156 return nil, err 157 } 158 // 反序列响应结果 159 resp := &ReplaceSpreadsheetSheetResp{ApiResp: apiResp} 160 err = apiResp.JSONUnmarshalBody(resp) 161 if err != nil { 162 return nil, err 163 } 164 return resp, err 165 } 166 167 // 创建筛选 168 // 169 // - 在子表内创建筛选。 170 // 171 // - 参数值可参考[筛选指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter/filter-user-guide) 172 // 173 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter/create 174 // 175 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/create_spreadsheetSheetFilter.go 176 func (s *spreadsheetSheetFilter) Create(ctx context.Context, req *CreateSpreadsheetSheetFilterReq, options ...larkcore.RequestOptionFunc) (*CreateSpreadsheetSheetFilterResp, error) { 177 // 发起请求 178 apiReq := req.apiReq 179 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter" 180 apiReq.HttpMethod = http.MethodPost 181 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 182 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 183 if err != nil { 184 return nil, err 185 } 186 // 反序列响应结果 187 resp := &CreateSpreadsheetSheetFilterResp{ApiResp: apiResp} 188 err = apiResp.JSONUnmarshalBody(resp) 189 if err != nil { 190 return nil, err 191 } 192 return resp, err 193 } 194 195 // 删除筛选 196 // 197 // - 删除子表的筛选 198 // 199 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter/delete 200 // 201 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/delete_spreadsheetSheetFilter.go 202 func (s *spreadsheetSheetFilter) Delete(ctx context.Context, req *DeleteSpreadsheetSheetFilterReq, options ...larkcore.RequestOptionFunc) (*DeleteSpreadsheetSheetFilterResp, error) { 203 // 发起请求 204 apiReq := req.apiReq 205 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter" 206 apiReq.HttpMethod = http.MethodDelete 207 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 208 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 209 if err != nil { 210 return nil, err 211 } 212 // 反序列响应结果 213 resp := &DeleteSpreadsheetSheetFilterResp{ApiResp: apiResp} 214 err = apiResp.JSONUnmarshalBody(resp) 215 if err != nil { 216 return nil, err 217 } 218 return resp, err 219 } 220 221 // 获取筛选 222 // 223 // - 获取子表的详细筛选信息 224 // 225 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter/get 226 // 227 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/get_spreadsheetSheetFilter.go 228 func (s *spreadsheetSheetFilter) Get(ctx context.Context, req *GetSpreadsheetSheetFilterReq, options ...larkcore.RequestOptionFunc) (*GetSpreadsheetSheetFilterResp, error) { 229 // 发起请求 230 apiReq := req.apiReq 231 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter" 232 apiReq.HttpMethod = http.MethodGet 233 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 234 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 235 if err != nil { 236 return nil, err 237 } 238 // 反序列响应结果 239 resp := &GetSpreadsheetSheetFilterResp{ApiResp: apiResp} 240 err = apiResp.JSONUnmarshalBody(resp) 241 if err != nil { 242 return nil, err 243 } 244 return resp, err 245 } 246 247 // 更新筛选 248 // 249 // - 更新子表筛选范围中的列筛选条件。 250 // 251 // - 参数值可参考[筛选指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter/filter-user-guide) 252 // 253 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter/update 254 // 255 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/update_spreadsheetSheetFilter.go 256 func (s *spreadsheetSheetFilter) Update(ctx context.Context, req *UpdateSpreadsheetSheetFilterReq, options ...larkcore.RequestOptionFunc) (*UpdateSpreadsheetSheetFilterResp, error) { 257 // 发起请求 258 apiReq := req.apiReq 259 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter" 260 apiReq.HttpMethod = http.MethodPut 261 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 262 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 263 if err != nil { 264 return nil, err 265 } 266 // 反序列响应结果 267 resp := &UpdateSpreadsheetSheetFilterResp{ApiResp: apiResp} 268 err = apiResp.JSONUnmarshalBody(resp) 269 if err != nil { 270 return nil, err 271 } 272 return resp, err 273 } 274 275 // 创建筛选视图 276 // 277 // - 根据传入的参数创建一个筛选视图。Id 和 名字可选,不填的话会默认生成;range 必填。Id 长度为10,由 0-9、a-z、A-Z 组合生成。名字长度不超过100。单个子表内的筛选视图个数不超过 150。 278 // 279 // - 筛选范围的设置参考:[筛选视图的筛选条件指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/filter-view-condition-user-guide) 280 // 281 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view/create 282 // 283 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/create_spreadsheetSheetFilterView.go 284 func (s *spreadsheetSheetFilterView) Create(ctx context.Context, req *CreateSpreadsheetSheetFilterViewReq, options ...larkcore.RequestOptionFunc) (*CreateSpreadsheetSheetFilterViewResp, error) { 285 // 发起请求 286 apiReq := req.apiReq 287 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views" 288 apiReq.HttpMethod = http.MethodPost 289 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 290 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 291 if err != nil { 292 return nil, err 293 } 294 // 反序列响应结果 295 resp := &CreateSpreadsheetSheetFilterViewResp{ApiResp: apiResp} 296 err = apiResp.JSONUnmarshalBody(resp) 297 if err != nil { 298 return nil, err 299 } 300 return resp, err 301 } 302 303 // 删除筛选视图 304 // 305 // - 删除指定 id 对应的筛选视图。 306 // 307 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view/delete 308 // 309 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/delete_spreadsheetSheetFilterView.go 310 func (s *spreadsheetSheetFilterView) Delete(ctx context.Context, req *DeleteSpreadsheetSheetFilterViewReq, options ...larkcore.RequestOptionFunc) (*DeleteSpreadsheetSheetFilterViewResp, error) { 311 // 发起请求 312 apiReq := req.apiReq 313 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views/:filter_view_id" 314 apiReq.HttpMethod = http.MethodDelete 315 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 316 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 317 if err != nil { 318 return nil, err 319 } 320 // 反序列响应结果 321 resp := &DeleteSpreadsheetSheetFilterViewResp{ApiResp: apiResp} 322 err = apiResp.JSONUnmarshalBody(resp) 323 if err != nil { 324 return nil, err 325 } 326 return resp, err 327 } 328 329 // 获取筛选视图 330 // 331 // - 获取指定筛选视图 id 的名字和筛选范围。 332 // 333 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view/get 334 // 335 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/get_spreadsheetSheetFilterView.go 336 func (s *spreadsheetSheetFilterView) Get(ctx context.Context, req *GetSpreadsheetSheetFilterViewReq, options ...larkcore.RequestOptionFunc) (*GetSpreadsheetSheetFilterViewResp, error) { 337 // 发起请求 338 apiReq := req.apiReq 339 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views/:filter_view_id" 340 apiReq.HttpMethod = http.MethodGet 341 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 342 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 343 if err != nil { 344 return nil, err 345 } 346 // 反序列响应结果 347 resp := &GetSpreadsheetSheetFilterViewResp{ApiResp: apiResp} 348 err = apiResp.JSONUnmarshalBody(resp) 349 if err != nil { 350 return nil, err 351 } 352 return resp, err 353 } 354 355 // 更新筛选视图 356 // 357 // - 更新筛选视图的名字或者筛选范围。名字长度不超过100,不能重复即子表内唯一;筛选范围不超过子表的最大范围。 358 // 359 // - 筛选范围的设置参考:[筛选视图的筛选条件指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/filter-view-condition-user-guide) 360 // 361 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view/patch 362 // 363 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/patch_spreadsheetSheetFilterView.go 364 func (s *spreadsheetSheetFilterView) Patch(ctx context.Context, req *PatchSpreadsheetSheetFilterViewReq, options ...larkcore.RequestOptionFunc) (*PatchSpreadsheetSheetFilterViewResp, error) { 365 // 发起请求 366 apiReq := req.apiReq 367 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views/:filter_view_id" 368 apiReq.HttpMethod = http.MethodPatch 369 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 370 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 371 if err != nil { 372 return nil, err 373 } 374 // 反序列响应结果 375 resp := &PatchSpreadsheetSheetFilterViewResp{ApiResp: apiResp} 376 err = apiResp.JSONUnmarshalBody(resp) 377 if err != nil { 378 return nil, err 379 } 380 return resp, err 381 } 382 383 // 查询筛选视图 384 // 385 // - 查询子表内所有的筛选视图基本信息,包括 id、name 和 range 386 // 387 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view/query 388 // 389 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/query_spreadsheetSheetFilterView.go 390 func (s *spreadsheetSheetFilterView) Query(ctx context.Context, req *QuerySpreadsheetSheetFilterViewReq, options ...larkcore.RequestOptionFunc) (*QuerySpreadsheetSheetFilterViewResp, error) { 391 // 发起请求 392 apiReq := req.apiReq 393 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views/query" 394 apiReq.HttpMethod = http.MethodGet 395 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 396 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 397 if err != nil { 398 return nil, err 399 } 400 // 反序列响应结果 401 resp := &QuerySpreadsheetSheetFilterViewResp{ApiResp: apiResp} 402 err = apiResp.JSONUnmarshalBody(resp) 403 if err != nil { 404 return nil, err 405 } 406 return resp, err 407 } 408 409 // 创建筛选条件 410 // 411 // - 在筛选视图的筛选范围的某一列创建筛选条件。 412 // 413 // - 筛选条件参考 [筛选视图的筛选条件指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/filter-view-condition-user-guide) 414 // 415 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/create 416 // 417 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/create_spreadsheetSheetFilterViewCondition.go 418 func (s *spreadsheetSheetFilterViewCondition) Create(ctx context.Context, req *CreateSpreadsheetSheetFilterViewConditionReq, options ...larkcore.RequestOptionFunc) (*CreateSpreadsheetSheetFilterViewConditionResp, error) { 419 // 发起请求 420 apiReq := req.apiReq 421 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views/:filter_view_id/conditions" 422 apiReq.HttpMethod = http.MethodPost 423 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 424 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 425 if err != nil { 426 return nil, err 427 } 428 // 反序列响应结果 429 resp := &CreateSpreadsheetSheetFilterViewConditionResp{ApiResp: apiResp} 430 err = apiResp.JSONUnmarshalBody(resp) 431 if err != nil { 432 return nil, err 433 } 434 return resp, err 435 } 436 437 // 删除筛选条件 438 // 439 // - 删除筛选视图的筛选范围某一列的筛选条件。 440 // 441 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/delete 442 // 443 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/delete_spreadsheetSheetFilterViewCondition.go 444 func (s *spreadsheetSheetFilterViewCondition) Delete(ctx context.Context, req *DeleteSpreadsheetSheetFilterViewConditionReq, options ...larkcore.RequestOptionFunc) (*DeleteSpreadsheetSheetFilterViewConditionResp, error) { 445 // 发起请求 446 apiReq := req.apiReq 447 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views/:filter_view_id/conditions/:condition_id" 448 apiReq.HttpMethod = http.MethodDelete 449 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 450 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 451 if err != nil { 452 return nil, err 453 } 454 // 反序列响应结果 455 resp := &DeleteSpreadsheetSheetFilterViewConditionResp{ApiResp: apiResp} 456 err = apiResp.JSONUnmarshalBody(resp) 457 if err != nil { 458 return nil, err 459 } 460 return resp, err 461 } 462 463 // 获取筛选条件 464 // 465 // - 获取筛选视图某列的筛选条件信息。 466 // 467 // - 筛选条件含义参考 [筛选视图的筛选条件指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/filter-view-condition-user-guide) 468 // 469 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/get 470 // 471 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/get_spreadsheetSheetFilterViewCondition.go 472 func (s *spreadsheetSheetFilterViewCondition) Get(ctx context.Context, req *GetSpreadsheetSheetFilterViewConditionReq, options ...larkcore.RequestOptionFunc) (*GetSpreadsheetSheetFilterViewConditionResp, error) { 473 // 发起请求 474 apiReq := req.apiReq 475 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views/:filter_view_id/conditions/:condition_id" 476 apiReq.HttpMethod = http.MethodGet 477 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 478 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 479 if err != nil { 480 return nil, err 481 } 482 // 反序列响应结果 483 resp := &GetSpreadsheetSheetFilterViewConditionResp{ApiResp: apiResp} 484 err = apiResp.JSONUnmarshalBody(resp) 485 if err != nil { 486 return nil, err 487 } 488 return resp, err 489 } 490 491 // 查询筛选条件 492 // 493 // - 查询一个筛选视图的所有筛选条件,返回筛选视图的筛选范围内的筛选条件。 494 // 495 // - 筛选条件含义可参考 [筛选视图的筛选条件指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/filter-view-condition-user-guide) 496 // 497 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/query 498 // 499 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/query_spreadsheetSheetFilterViewCondition.go 500 func (s *spreadsheetSheetFilterViewCondition) Query(ctx context.Context, req *QuerySpreadsheetSheetFilterViewConditionReq, options ...larkcore.RequestOptionFunc) (*QuerySpreadsheetSheetFilterViewConditionResp, error) { 501 // 发起请求 502 apiReq := req.apiReq 503 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views/:filter_view_id/conditions/query" 504 apiReq.HttpMethod = http.MethodGet 505 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 506 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 507 if err != nil { 508 return nil, err 509 } 510 // 反序列响应结果 511 resp := &QuerySpreadsheetSheetFilterViewConditionResp{ApiResp: apiResp} 512 err = apiResp.JSONUnmarshalBody(resp) 513 if err != nil { 514 return nil, err 515 } 516 return resp, err 517 } 518 519 // 更新筛选条件 520 // 521 // - 更新筛选视图范围的某列的筛选条件,condition id 即为列的字母号。 522 // 523 // - 筛选条件参数可参考 [筛选视图的筛选条件指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/filter-view-condition-user-guide) 524 // 525 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-filter_view-condition/update 526 // 527 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/update_spreadsheetSheetFilterViewCondition.go 528 func (s *spreadsheetSheetFilterViewCondition) Update(ctx context.Context, req *UpdateSpreadsheetSheetFilterViewConditionReq, options ...larkcore.RequestOptionFunc) (*UpdateSpreadsheetSheetFilterViewConditionResp, error) { 529 // 发起请求 530 apiReq := req.apiReq 531 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/filter_views/:filter_view_id/conditions/:condition_id" 532 apiReq.HttpMethod = http.MethodPut 533 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 534 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 535 if err != nil { 536 return nil, err 537 } 538 // 反序列响应结果 539 resp := &UpdateSpreadsheetSheetFilterViewConditionResp{ApiResp: apiResp} 540 err = apiResp.JSONUnmarshalBody(resp) 541 if err != nil { 542 return nil, err 543 } 544 return resp, err 545 } 546 547 // 创建浮动图片 548 // 549 // - 根据传入的参数创建一张浮动图片。Float_image_token ([上传图片至表格后得到](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/drive-v1/media/upload_all))和range(只支持一个单元格) 必填。Float_image_id 可选,不填的话会默认生成,长度为10,由 0-9、a-z、A-Z 组合生成。表格内不重复的图片(浮动图片+单元格图片)总数不超过4000。width 和 height 为图片展示的宽高,可选,不填的话会使用图片的真实宽高。offset_x 和 offset_y 为图片左上角距离所在单元格左上角的偏移,可选,默认为 0。 550 // 551 // - 浮动图片的设置参考:[浮动图片指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-float_image/float-image-user-guide) 552 // 553 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-float_image/create 554 // 555 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/create_spreadsheetSheetFloatImage.go 556 func (s *spreadsheetSheetFloatImage) Create(ctx context.Context, req *CreateSpreadsheetSheetFloatImageReq, options ...larkcore.RequestOptionFunc) (*CreateSpreadsheetSheetFloatImageResp, error) { 557 // 发起请求 558 apiReq := req.apiReq 559 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/float_images" 560 apiReq.HttpMethod = http.MethodPost 561 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 562 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 563 if err != nil { 564 return nil, err 565 } 566 // 反序列响应结果 567 resp := &CreateSpreadsheetSheetFloatImageResp{ApiResp: apiResp} 568 err = apiResp.JSONUnmarshalBody(resp) 569 if err != nil { 570 return nil, err 571 } 572 return resp, err 573 } 574 575 // 删除浮动图片 576 // 577 // - 删除 float_image_id 对应的浮动图片。 578 // 579 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-float_image/delete 580 // 581 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/delete_spreadsheetSheetFloatImage.go 582 func (s *spreadsheetSheetFloatImage) Delete(ctx context.Context, req *DeleteSpreadsheetSheetFloatImageReq, options ...larkcore.RequestOptionFunc) (*DeleteSpreadsheetSheetFloatImageResp, error) { 583 // 发起请求 584 apiReq := req.apiReq 585 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/float_images/:float_image_id" 586 apiReq.HttpMethod = http.MethodDelete 587 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 588 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 589 if err != nil { 590 return nil, err 591 } 592 // 反序列响应结果 593 resp := &DeleteSpreadsheetSheetFloatImageResp{ApiResp: apiResp} 594 err = apiResp.JSONUnmarshalBody(resp) 595 if err != nil { 596 return nil, err 597 } 598 return resp, err 599 } 600 601 // 获取浮动图片 602 // 603 // - 根据 float_image_id 获取对应浮动图片的信息。 604 // 605 // - 浮动图片参考:[浮动图片指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-float_image/float-image-user-guide) 606 // 607 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-float_image/get 608 // 609 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/get_spreadsheetSheetFloatImage.go 610 func (s *spreadsheetSheetFloatImage) Get(ctx context.Context, req *GetSpreadsheetSheetFloatImageReq, options ...larkcore.RequestOptionFunc) (*GetSpreadsheetSheetFloatImageResp, error) { 611 // 发起请求 612 apiReq := req.apiReq 613 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/float_images/:float_image_id" 614 apiReq.HttpMethod = http.MethodGet 615 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 616 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 617 if err != nil { 618 return nil, err 619 } 620 // 反序列响应结果 621 resp := &GetSpreadsheetSheetFloatImageResp{ApiResp: apiResp} 622 err = apiResp.JSONUnmarshalBody(resp) 623 if err != nil { 624 return nil, err 625 } 626 return resp, err 627 } 628 629 // 更新浮动图片 630 // 631 // - 更新已有的浮动图片位置和宽高,包括 range、width、height、offset_x 和 offset_y,不包括 float_image_id 和 float_image_token。 632 // 633 // - 浮动图片更新参考:[浮动图片指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-float_image/float-image-user-guide) 634 // 635 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-float_image/patch 636 // 637 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/patch_spreadsheetSheetFloatImage.go 638 func (s *spreadsheetSheetFloatImage) Patch(ctx context.Context, req *PatchSpreadsheetSheetFloatImageReq, options ...larkcore.RequestOptionFunc) (*PatchSpreadsheetSheetFloatImageResp, error) { 639 // 发起请求 640 apiReq := req.apiReq 641 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/float_images/:float_image_id" 642 apiReq.HttpMethod = http.MethodPatch 643 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 644 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 645 if err != nil { 646 return nil, err 647 } 648 // 反序列响应结果 649 resp := &PatchSpreadsheetSheetFloatImageResp{ApiResp: apiResp} 650 err = apiResp.JSONUnmarshalBody(resp) 651 if err != nil { 652 return nil, err 653 } 654 return resp, err 655 } 656 657 // 查询浮动图片 658 // 659 // - 返回子表内所有的浮动图片信息。 660 // 661 // - 浮动图片参考:[浮动图片指南](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-float_image/float-image-user-guide) 662 // 663 // - 官网API文档链接:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-float_image/query 664 // 665 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/sheetsv3/query_spreadsheetSheetFloatImage.go 666 func (s *spreadsheetSheetFloatImage) Query(ctx context.Context, req *QuerySpreadsheetSheetFloatImageReq, options ...larkcore.RequestOptionFunc) (*QuerySpreadsheetSheetFloatImageResp, error) { 667 // 发起请求 668 apiReq := req.apiReq 669 apiReq.ApiPath = "/open-apis/sheets/v3/spreadsheets/:spreadsheet_token/sheets/:sheet_id/float_images/query" 670 apiReq.HttpMethod = http.MethodGet 671 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant, larkcore.AccessTokenTypeUser} 672 apiResp, err := larkcore.Request(ctx, apiReq, s.service.config, options...) 673 if err != nil { 674 return nil, err 675 } 676 // 反序列响应结果 677 resp := &QuerySpreadsheetSheetFloatImageResp{ApiResp: apiResp} 678 err = apiResp.JSONUnmarshalBody(resp) 679 if err != nil { 680 return nil, err 681 } 682 return resp, err 683 }