gitee.com/larksuite/oapi-sdk-go/v3@v3.0.3/service/mail/v1/api.go (about) 1 // Package mail 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 larkmail 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) *MailService { 24 m := &MailService{config: config} 25 m.Mailgroup = &mailgroup{service: m} 26 m.MailgroupAlias = &mailgroupAlias{service: m} 27 m.MailgroupMember = &mailgroupMember{service: m} 28 m.MailgroupPermissionMember = &mailgroupPermissionMember{service: m} 29 m.PublicMailbox = &publicMailbox{service: m} 30 m.PublicMailboxAlias = &publicMailboxAlias{service: m} 31 m.PublicMailboxMember = &publicMailboxMember{service: m} 32 m.User = &user{service: m} 33 m.UserMailbox = &userMailbox{service: m} 34 m.UserMailboxAlias = &userMailboxAlias{service: m} 35 return m 36 } 37 38 type MailService struct { 39 config *larkcore.Config 40 Mailgroup *mailgroup // 邮件组 41 MailgroupAlias *mailgroupAlias // 邮件组别名 42 MailgroupMember *mailgroupMember // 邮件组成员 43 MailgroupPermissionMember *mailgroupPermissionMember // 邮件组权限成员 44 PublicMailbox *publicMailbox // 公共邮箱 45 PublicMailboxAlias *publicMailboxAlias // 公共邮箱别名 46 PublicMailboxMember *publicMailboxMember // 公共邮箱成员 47 User *user // 邮箱地址 48 UserMailbox *userMailbox // 用户邮箱 49 UserMailboxAlias *userMailboxAlias // 用户邮箱别名 50 } 51 52 type mailgroup struct { 53 service *MailService 54 } 55 type mailgroupAlias struct { 56 service *MailService 57 } 58 type mailgroupMember struct { 59 service *MailService 60 } 61 type mailgroupPermissionMember struct { 62 service *MailService 63 } 64 type publicMailbox struct { 65 service *MailService 66 } 67 type publicMailboxAlias struct { 68 service *MailService 69 } 70 type publicMailboxMember struct { 71 service *MailService 72 } 73 type user struct { 74 service *MailService 75 } 76 type userMailbox struct { 77 service *MailService 78 } 79 type userMailboxAlias struct { 80 service *MailService 81 } 82 83 // 创建邮件组 84 // 85 // - 创建一个邮件组 86 // 87 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup/create 88 // 89 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/create_mailgroup.go 90 func (m *mailgroup) Create(ctx context.Context, req *CreateMailgroupReq, options ...larkcore.RequestOptionFunc) (*CreateMailgroupResp, error) { 91 // 发起请求 92 apiReq := req.apiReq 93 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups" 94 apiReq.HttpMethod = http.MethodPost 95 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 96 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 97 if err != nil { 98 return nil, err 99 } 100 // 反序列响应结果 101 resp := &CreateMailgroupResp{ApiResp: apiResp} 102 err = apiResp.JSONUnmarshalBody(resp) 103 if err != nil { 104 return nil, err 105 } 106 return resp, err 107 } 108 109 // 删除邮件组 110 // 111 // - 删除一个邮件组 112 // 113 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup/delete 114 // 115 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/delete_mailgroup.go 116 func (m *mailgroup) Delete(ctx context.Context, req *DeleteMailgroupReq, options ...larkcore.RequestOptionFunc) (*DeleteMailgroupResp, error) { 117 // 发起请求 118 apiReq := req.apiReq 119 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id" 120 apiReq.HttpMethod = http.MethodDelete 121 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 122 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 123 if err != nil { 124 return nil, err 125 } 126 // 反序列响应结果 127 resp := &DeleteMailgroupResp{ApiResp: apiResp} 128 err = apiResp.JSONUnmarshalBody(resp) 129 if err != nil { 130 return nil, err 131 } 132 return resp, err 133 } 134 135 // 获取邮件组 136 // 137 // - 获取特定邮件组信息 138 // 139 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup/get 140 // 141 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/get_mailgroup.go 142 func (m *mailgroup) Get(ctx context.Context, req *GetMailgroupReq, options ...larkcore.RequestOptionFunc) (*GetMailgroupResp, error) { 143 // 发起请求 144 apiReq := req.apiReq 145 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id" 146 apiReq.HttpMethod = http.MethodGet 147 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 148 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 149 if err != nil { 150 return nil, err 151 } 152 // 反序列响应结果 153 resp := &GetMailgroupResp{ApiResp: apiResp} 154 err = apiResp.JSONUnmarshalBody(resp) 155 if err != nil { 156 return nil, err 157 } 158 return resp, err 159 } 160 161 // 批量获取邮件组 162 // 163 // - 分页批量获取邮件组 164 // 165 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup/list 166 // 167 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/list_mailgroup.go 168 func (m *mailgroup) List(ctx context.Context, req *ListMailgroupReq, options ...larkcore.RequestOptionFunc) (*ListMailgroupResp, error) { 169 // 发起请求 170 apiReq := req.apiReq 171 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups" 172 apiReq.HttpMethod = http.MethodGet 173 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 174 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 175 if err != nil { 176 return nil, err 177 } 178 // 反序列响应结果 179 resp := &ListMailgroupResp{ApiResp: apiResp} 180 err = apiResp.JSONUnmarshalBody(resp) 181 if err != nil { 182 return nil, err 183 } 184 return resp, err 185 } 186 func (m *mailgroup) ListByIterator(ctx context.Context, req *ListMailgroupReq, options ...larkcore.RequestOptionFunc) (*ListMailgroupIterator, error) { 187 return &ListMailgroupIterator{ 188 ctx: ctx, 189 req: req, 190 listFunc: m.List, 191 options: options, 192 limit: req.Limit}, nil 193 } 194 195 // 修改邮件组 196 // 197 // - 更新邮件组部分字段,没有填写的字段不会被更新 198 // 199 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup/patch 200 // 201 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/patch_mailgroup.go 202 func (m *mailgroup) Patch(ctx context.Context, req *PatchMailgroupReq, options ...larkcore.RequestOptionFunc) (*PatchMailgroupResp, error) { 203 // 发起请求 204 apiReq := req.apiReq 205 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id" 206 apiReq.HttpMethod = http.MethodPatch 207 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 208 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 209 if err != nil { 210 return nil, err 211 } 212 // 反序列响应结果 213 resp := &PatchMailgroupResp{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/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup/update 226 // 227 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/update_mailgroup.go 228 func (m *mailgroup) Update(ctx context.Context, req *UpdateMailgroupReq, options ...larkcore.RequestOptionFunc) (*UpdateMailgroupResp, error) { 229 // 发起请求 230 apiReq := req.apiReq 231 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id" 232 apiReq.HttpMethod = http.MethodPut 233 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 234 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 235 if err != nil { 236 return nil, err 237 } 238 // 反序列响应结果 239 resp := &UpdateMailgroupResp{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 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-alias/create 252 // 253 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/create_mailgroupAlias.go 254 func (m *mailgroupAlias) Create(ctx context.Context, req *CreateMailgroupAliasReq, options ...larkcore.RequestOptionFunc) (*CreateMailgroupAliasResp, error) { 255 // 发起请求 256 apiReq := req.apiReq 257 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/aliases" 258 apiReq.HttpMethod = http.MethodPost 259 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 260 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 261 if err != nil { 262 return nil, err 263 } 264 // 反序列响应结果 265 resp := &CreateMailgroupAliasResp{ApiResp: apiResp} 266 err = apiResp.JSONUnmarshalBody(resp) 267 if err != nil { 268 return nil, err 269 } 270 return resp, err 271 } 272 273 // 删除邮件组别名 274 // 275 // - 删除邮件组别名 276 // 277 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-alias/delete 278 // 279 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/delete_mailgroupAlias.go 280 func (m *mailgroupAlias) Delete(ctx context.Context, req *DeleteMailgroupAliasReq, options ...larkcore.RequestOptionFunc) (*DeleteMailgroupAliasResp, error) { 281 // 发起请求 282 apiReq := req.apiReq 283 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/aliases/:alias_id" 284 apiReq.HttpMethod = http.MethodDelete 285 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 286 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 287 if err != nil { 288 return nil, err 289 } 290 // 反序列响应结果 291 resp := &DeleteMailgroupAliasResp{ApiResp: apiResp} 292 err = apiResp.JSONUnmarshalBody(resp) 293 if err != nil { 294 return nil, err 295 } 296 return resp, err 297 } 298 299 // 获取邮件组所有别名 300 // 301 // - 获取邮件组所有别名 302 // 303 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-alias/list 304 // 305 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/list_mailgroupAlias.go 306 func (m *mailgroupAlias) List(ctx context.Context, req *ListMailgroupAliasReq, options ...larkcore.RequestOptionFunc) (*ListMailgroupAliasResp, error) { 307 // 发起请求 308 apiReq := req.apiReq 309 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/aliases" 310 apiReq.HttpMethod = http.MethodGet 311 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 312 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 313 if err != nil { 314 return nil, err 315 } 316 // 反序列响应结果 317 resp := &ListMailgroupAliasResp{ApiResp: apiResp} 318 err = apiResp.JSONUnmarshalBody(resp) 319 if err != nil { 320 return nil, err 321 } 322 return resp, err 323 } 324 325 // 创建邮件组成员 326 // 327 // - 向邮件组添加单个成员 328 // 329 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-member/create 330 // 331 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/create_mailgroupMember.go 332 func (m *mailgroupMember) Create(ctx context.Context, req *CreateMailgroupMemberReq, options ...larkcore.RequestOptionFunc) (*CreateMailgroupMemberResp, error) { 333 // 发起请求 334 apiReq := req.apiReq 335 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/members" 336 apiReq.HttpMethod = http.MethodPost 337 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 338 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 339 if err != nil { 340 return nil, err 341 } 342 // 反序列响应结果 343 resp := &CreateMailgroupMemberResp{ApiResp: apiResp} 344 err = apiResp.JSONUnmarshalBody(resp) 345 if err != nil { 346 return nil, err 347 } 348 return resp, err 349 } 350 351 // 删除邮件组成员 352 // 353 // - 删除邮件组单个成员 354 // 355 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-member/delete 356 // 357 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/delete_mailgroupMember.go 358 func (m *mailgroupMember) Delete(ctx context.Context, req *DeleteMailgroupMemberReq, options ...larkcore.RequestOptionFunc) (*DeleteMailgroupMemberResp, error) { 359 // 发起请求 360 apiReq := req.apiReq 361 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/members/:member_id" 362 apiReq.HttpMethod = http.MethodDelete 363 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 364 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 365 if err != nil { 366 return nil, err 367 } 368 // 反序列响应结果 369 resp := &DeleteMailgroupMemberResp{ApiResp: apiResp} 370 err = apiResp.JSONUnmarshalBody(resp) 371 if err != nil { 372 return nil, err 373 } 374 return resp, err 375 } 376 377 // 获取邮件组成员信息 378 // 379 // - 获取邮件组单个成员信息 380 // 381 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-member/get 382 // 383 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/get_mailgroupMember.go 384 func (m *mailgroupMember) Get(ctx context.Context, req *GetMailgroupMemberReq, options ...larkcore.RequestOptionFunc) (*GetMailgroupMemberResp, error) { 385 // 发起请求 386 apiReq := req.apiReq 387 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/members/:member_id" 388 apiReq.HttpMethod = http.MethodGet 389 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 390 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 391 if err != nil { 392 return nil, err 393 } 394 // 反序列响应结果 395 resp := &GetMailgroupMemberResp{ApiResp: apiResp} 396 err = apiResp.JSONUnmarshalBody(resp) 397 if err != nil { 398 return nil, err 399 } 400 return resp, err 401 } 402 403 // 批量获取邮件组成员 404 // 405 // - 分页批量获取邮件组成员列表 406 // 407 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-member/list 408 // 409 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/list_mailgroupMember.go 410 func (m *mailgroupMember) List(ctx context.Context, req *ListMailgroupMemberReq, options ...larkcore.RequestOptionFunc) (*ListMailgroupMemberResp, error) { 411 // 发起请求 412 apiReq := req.apiReq 413 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/members" 414 apiReq.HttpMethod = http.MethodGet 415 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 416 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 417 if err != nil { 418 return nil, err 419 } 420 // 反序列响应结果 421 resp := &ListMailgroupMemberResp{ApiResp: apiResp} 422 err = apiResp.JSONUnmarshalBody(resp) 423 if err != nil { 424 return nil, err 425 } 426 return resp, err 427 } 428 func (m *mailgroupMember) ListByIterator(ctx context.Context, req *ListMailgroupMemberReq, options ...larkcore.RequestOptionFunc) (*ListMailgroupMemberIterator, error) { 429 return &ListMailgroupMemberIterator{ 430 ctx: ctx, 431 req: req, 432 listFunc: m.List, 433 options: options, 434 limit: req.Limit}, nil 435 } 436 437 // 创建邮件组权限成员 438 // 439 // - 向邮件组添加单个自定义权限成员,添加后该成员可发送邮件到该邮件组 440 // 441 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-permission_member/create 442 // 443 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/create_mailgroupPermissionMember.go 444 func (m *mailgroupPermissionMember) Create(ctx context.Context, req *CreateMailgroupPermissionMemberReq, options ...larkcore.RequestOptionFunc) (*CreateMailgroupPermissionMemberResp, error) { 445 // 发起请求 446 apiReq := req.apiReq 447 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/permission_members" 448 apiReq.HttpMethod = http.MethodPost 449 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 450 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 451 if err != nil { 452 return nil, err 453 } 454 // 反序列响应结果 455 resp := &CreateMailgroupPermissionMemberResp{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 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-permission_member/delete 468 // 469 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/delete_mailgroupPermissionMember.go 470 func (m *mailgroupPermissionMember) Delete(ctx context.Context, req *DeleteMailgroupPermissionMemberReq, options ...larkcore.RequestOptionFunc) (*DeleteMailgroupPermissionMemberResp, error) { 471 // 发起请求 472 apiReq := req.apiReq 473 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/permission_members/:permission_member_id" 474 apiReq.HttpMethod = http.MethodDelete 475 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 476 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 477 if err != nil { 478 return nil, err 479 } 480 // 反序列响应结果 481 resp := &DeleteMailgroupPermissionMemberResp{ApiResp: apiResp} 482 err = apiResp.JSONUnmarshalBody(resp) 483 if err != nil { 484 return nil, err 485 } 486 return resp, err 487 } 488 489 // 获取邮件组权限成员 490 // 491 // - 获取邮件组单个权限成员信息 492 // 493 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-permission_member/get 494 // 495 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/get_mailgroupPermissionMember.go 496 func (m *mailgroupPermissionMember) Get(ctx context.Context, req *GetMailgroupPermissionMemberReq, options ...larkcore.RequestOptionFunc) (*GetMailgroupPermissionMemberResp, error) { 497 // 发起请求 498 apiReq := req.apiReq 499 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/permission_members/:permission_member_id" 500 apiReq.HttpMethod = http.MethodGet 501 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 502 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 503 if err != nil { 504 return nil, err 505 } 506 // 反序列响应结果 507 resp := &GetMailgroupPermissionMemberResp{ApiResp: apiResp} 508 err = apiResp.JSONUnmarshalBody(resp) 509 if err != nil { 510 return nil, err 511 } 512 return resp, err 513 } 514 515 // 批量获取邮件组权限成员 516 // 517 // - 分页批量获取邮件组权限成员列表 518 // 519 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/mailgroup-permission_member/list 520 // 521 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/list_mailgroupPermissionMember.go 522 func (m *mailgroupPermissionMember) List(ctx context.Context, req *ListMailgroupPermissionMemberReq, options ...larkcore.RequestOptionFunc) (*ListMailgroupPermissionMemberResp, error) { 523 // 发起请求 524 apiReq := req.apiReq 525 apiReq.ApiPath = "/open-apis/mail/v1/mailgroups/:mailgroup_id/permission_members" 526 apiReq.HttpMethod = http.MethodGet 527 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 528 apiResp, err := larkcore.Request(ctx, apiReq, m.service.config, options...) 529 if err != nil { 530 return nil, err 531 } 532 // 反序列响应结果 533 resp := &ListMailgroupPermissionMemberResp{ApiResp: apiResp} 534 err = apiResp.JSONUnmarshalBody(resp) 535 if err != nil { 536 return nil, err 537 } 538 return resp, err 539 } 540 func (m *mailgroupPermissionMember) ListByIterator(ctx context.Context, req *ListMailgroupPermissionMemberReq, options ...larkcore.RequestOptionFunc) (*ListMailgroupPermissionMemberIterator, error) { 541 return &ListMailgroupPermissionMemberIterator{ 542 ctx: ctx, 543 req: req, 544 listFunc: m.List, 545 options: options, 546 limit: req.Limit}, nil 547 } 548 549 // 创建公共邮箱 550 // 551 // - 创建一个公共邮箱 552 // 553 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox/create 554 // 555 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/create_publicMailbox.go 556 func (p *publicMailbox) Create(ctx context.Context, req *CreatePublicMailboxReq, options ...larkcore.RequestOptionFunc) (*CreatePublicMailboxResp, error) { 557 // 发起请求 558 apiReq := req.apiReq 559 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes" 560 apiReq.HttpMethod = http.MethodPost 561 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 562 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 563 if err != nil { 564 return nil, err 565 } 566 // 反序列响应结果 567 resp := &CreatePublicMailboxResp{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 // - 该接口会永久删除公共邮箱地址。可用于释放邮箱回收站的公共邮箱地址,一旦删除,该邮箱地址将无法恢复。 578 // 579 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox/delete 580 // 581 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/delete_publicMailbox.go 582 func (p *publicMailbox) Delete(ctx context.Context, req *DeletePublicMailboxReq, options ...larkcore.RequestOptionFunc) (*DeletePublicMailboxResp, error) { 583 // 发起请求 584 apiReq := req.apiReq 585 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id" 586 apiReq.HttpMethod = http.MethodDelete 587 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 588 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 589 if err != nil { 590 return nil, err 591 } 592 // 反序列响应结果 593 resp := &DeletePublicMailboxResp{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 // - 获取公共邮箱信息 604 // 605 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox/get 606 // 607 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/get_publicMailbox.go 608 func (p *publicMailbox) Get(ctx context.Context, req *GetPublicMailboxReq, options ...larkcore.RequestOptionFunc) (*GetPublicMailboxResp, error) { 609 // 发起请求 610 apiReq := req.apiReq 611 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id" 612 apiReq.HttpMethod = http.MethodGet 613 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 614 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 615 if err != nil { 616 return nil, err 617 } 618 // 反序列响应结果 619 resp := &GetPublicMailboxResp{ApiResp: apiResp} 620 err = apiResp.JSONUnmarshalBody(resp) 621 if err != nil { 622 return nil, err 623 } 624 return resp, err 625 } 626 627 // 批量获取公共邮箱 628 // 629 // - 分页批量获取公共邮箱列表 630 // 631 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox/list 632 // 633 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/list_publicMailbox.go 634 func (p *publicMailbox) List(ctx context.Context, req *ListPublicMailboxReq, options ...larkcore.RequestOptionFunc) (*ListPublicMailboxResp, error) { 635 // 发起请求 636 apiReq := req.apiReq 637 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes" 638 apiReq.HttpMethod = http.MethodGet 639 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 640 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 641 if err != nil { 642 return nil, err 643 } 644 // 反序列响应结果 645 resp := &ListPublicMailboxResp{ApiResp: apiResp} 646 err = apiResp.JSONUnmarshalBody(resp) 647 if err != nil { 648 return nil, err 649 } 650 return resp, err 651 } 652 func (p *publicMailbox) ListByIterator(ctx context.Context, req *ListPublicMailboxReq, options ...larkcore.RequestOptionFunc) (*ListPublicMailboxIterator, error) { 653 return &ListPublicMailboxIterator{ 654 ctx: ctx, 655 req: req, 656 listFunc: p.List, 657 options: options, 658 limit: req.Limit}, nil 659 } 660 661 // 修改公共邮箱 662 // 663 // - 更新公共邮箱部分字段,没有填写的字段不会被更新 664 // 665 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox/patch 666 // 667 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/patch_publicMailbox.go 668 func (p *publicMailbox) Patch(ctx context.Context, req *PatchPublicMailboxReq, options ...larkcore.RequestOptionFunc) (*PatchPublicMailboxResp, error) { 669 // 发起请求 670 apiReq := req.apiReq 671 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id" 672 apiReq.HttpMethod = http.MethodPatch 673 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 674 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 675 if err != nil { 676 return nil, err 677 } 678 // 反序列响应结果 679 resp := &PatchPublicMailboxResp{ApiResp: apiResp} 680 err = apiResp.JSONUnmarshalBody(resp) 681 if err != nil { 682 return nil, err 683 } 684 return resp, err 685 } 686 687 // 更新公共邮箱 688 // 689 // - 更新公共邮箱所有信息 690 // 691 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox/update 692 // 693 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/update_publicMailbox.go 694 func (p *publicMailbox) Update(ctx context.Context, req *UpdatePublicMailboxReq, options ...larkcore.RequestOptionFunc) (*UpdatePublicMailboxResp, error) { 695 // 发起请求 696 apiReq := req.apiReq 697 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id" 698 apiReq.HttpMethod = http.MethodPut 699 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 700 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 701 if err != nil { 702 return nil, err 703 } 704 // 反序列响应结果 705 resp := &UpdatePublicMailboxResp{ApiResp: apiResp} 706 err = apiResp.JSONUnmarshalBody(resp) 707 if err != nil { 708 return nil, err 709 } 710 return resp, err 711 } 712 713 // 创建公共邮箱别名 714 // 715 // - 创建公共邮箱别名 716 // 717 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox-alias/create 718 // 719 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/create_publicMailboxAlias.go 720 func (p *publicMailboxAlias) Create(ctx context.Context, req *CreatePublicMailboxAliasReq, options ...larkcore.RequestOptionFunc) (*CreatePublicMailboxAliasResp, error) { 721 // 发起请求 722 apiReq := req.apiReq 723 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id/aliases" 724 apiReq.HttpMethod = http.MethodPost 725 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 726 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 727 if err != nil { 728 return nil, err 729 } 730 // 反序列响应结果 731 resp := &CreatePublicMailboxAliasResp{ApiResp: apiResp} 732 err = apiResp.JSONUnmarshalBody(resp) 733 if err != nil { 734 return nil, err 735 } 736 return resp, err 737 } 738 739 // 删除公共邮箱别名 740 // 741 // - 删除公共邮箱别名 742 // 743 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox-alias/delete 744 // 745 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/delete_publicMailboxAlias.go 746 func (p *publicMailboxAlias) Delete(ctx context.Context, req *DeletePublicMailboxAliasReq, options ...larkcore.RequestOptionFunc) (*DeletePublicMailboxAliasResp, error) { 747 // 发起请求 748 apiReq := req.apiReq 749 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id/aliases/:alias_id" 750 apiReq.HttpMethod = http.MethodDelete 751 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 752 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 753 if err != nil { 754 return nil, err 755 } 756 // 反序列响应结果 757 resp := &DeletePublicMailboxAliasResp{ApiResp: apiResp} 758 err = apiResp.JSONUnmarshalBody(resp) 759 if err != nil { 760 return nil, err 761 } 762 return resp, err 763 } 764 765 // 获取所有公共邮箱别名 766 // 767 // - 获取所有公共邮箱别名 768 // 769 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox-alias/list 770 // 771 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/list_publicMailboxAlias.go 772 func (p *publicMailboxAlias) List(ctx context.Context, req *ListPublicMailboxAliasReq, options ...larkcore.RequestOptionFunc) (*ListPublicMailboxAliasResp, error) { 773 // 发起请求 774 apiReq := req.apiReq 775 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id/aliases" 776 apiReq.HttpMethod = http.MethodGet 777 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 778 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 779 if err != nil { 780 return nil, err 781 } 782 // 反序列响应结果 783 resp := &ListPublicMailboxAliasResp{ApiResp: apiResp} 784 err = apiResp.JSONUnmarshalBody(resp) 785 if err != nil { 786 return nil, err 787 } 788 return resp, err 789 } 790 791 // 清空公共邮箱成员 792 // 793 // - 删除公共邮箱所有成员 794 // 795 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox-member/clear 796 // 797 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/clear_publicMailboxMember.go 798 func (p *publicMailboxMember) Clear(ctx context.Context, req *ClearPublicMailboxMemberReq, options ...larkcore.RequestOptionFunc) (*ClearPublicMailboxMemberResp, error) { 799 // 发起请求 800 apiReq := req.apiReq 801 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id/members/clear" 802 apiReq.HttpMethod = http.MethodPost 803 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 804 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 805 if err != nil { 806 return nil, err 807 } 808 // 反序列响应结果 809 resp := &ClearPublicMailboxMemberResp{ApiResp: apiResp} 810 err = apiResp.JSONUnmarshalBody(resp) 811 if err != nil { 812 return nil, err 813 } 814 return resp, err 815 } 816 817 // 创建公共邮箱成员 818 // 819 // - 向公共邮箱添加单个成员 820 // 821 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox-member/create 822 // 823 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/create_publicMailboxMember.go 824 func (p *publicMailboxMember) Create(ctx context.Context, req *CreatePublicMailboxMemberReq, options ...larkcore.RequestOptionFunc) (*CreatePublicMailboxMemberResp, error) { 825 // 发起请求 826 apiReq := req.apiReq 827 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id/members" 828 apiReq.HttpMethod = http.MethodPost 829 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 830 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 831 if err != nil { 832 return nil, err 833 } 834 // 反序列响应结果 835 resp := &CreatePublicMailboxMemberResp{ApiResp: apiResp} 836 err = apiResp.JSONUnmarshalBody(resp) 837 if err != nil { 838 return nil, err 839 } 840 return resp, err 841 } 842 843 // 删除公共邮箱成员 844 // 845 // - 删除公共邮箱单个成员 846 // 847 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox-member/delete 848 // 849 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/delete_publicMailboxMember.go 850 func (p *publicMailboxMember) Delete(ctx context.Context, req *DeletePublicMailboxMemberReq, options ...larkcore.RequestOptionFunc) (*DeletePublicMailboxMemberResp, error) { 851 // 发起请求 852 apiReq := req.apiReq 853 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id/members/:member_id" 854 apiReq.HttpMethod = http.MethodDelete 855 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 856 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 857 if err != nil { 858 return nil, err 859 } 860 // 反序列响应结果 861 resp := &DeletePublicMailboxMemberResp{ApiResp: apiResp} 862 err = apiResp.JSONUnmarshalBody(resp) 863 if err != nil { 864 return nil, err 865 } 866 return resp, err 867 } 868 869 // 获取公共邮箱成员信息 870 // 871 // - 获取公共邮箱单个成员信息 872 // 873 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox-member/get 874 // 875 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/get_publicMailboxMember.go 876 func (p *publicMailboxMember) Get(ctx context.Context, req *GetPublicMailboxMemberReq, options ...larkcore.RequestOptionFunc) (*GetPublicMailboxMemberResp, error) { 877 // 发起请求 878 apiReq := req.apiReq 879 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id/members/:member_id" 880 apiReq.HttpMethod = http.MethodGet 881 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 882 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 883 if err != nil { 884 return nil, err 885 } 886 // 反序列响应结果 887 resp := &GetPublicMailboxMemberResp{ApiResp: apiResp} 888 err = apiResp.JSONUnmarshalBody(resp) 889 if err != nil { 890 return nil, err 891 } 892 return resp, err 893 } 894 895 // 批量获取公共邮箱成员 896 // 897 // - 分页批量获取公共邮箱成员列表 898 // 899 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/public_mailbox-member/list 900 // 901 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/list_publicMailboxMember.go 902 func (p *publicMailboxMember) List(ctx context.Context, req *ListPublicMailboxMemberReq, options ...larkcore.RequestOptionFunc) (*ListPublicMailboxMemberResp, error) { 903 // 发起请求 904 apiReq := req.apiReq 905 apiReq.ApiPath = "/open-apis/mail/v1/public_mailboxes/:public_mailbox_id/members" 906 apiReq.HttpMethod = http.MethodGet 907 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 908 apiResp, err := larkcore.Request(ctx, apiReq, p.service.config, options...) 909 if err != nil { 910 return nil, err 911 } 912 // 反序列响应结果 913 resp := &ListPublicMailboxMemberResp{ApiResp: apiResp} 914 err = apiResp.JSONUnmarshalBody(resp) 915 if err != nil { 916 return nil, err 917 } 918 return resp, err 919 } 920 func (p *publicMailboxMember) ListByIterator(ctx context.Context, req *ListPublicMailboxMemberReq, options ...larkcore.RequestOptionFunc) (*ListPublicMailboxMemberIterator, error) { 921 return &ListPublicMailboxMemberIterator{ 922 ctx: ctx, 923 req: req, 924 listFunc: p.List, 925 options: options, 926 limit: req.Limit}, nil 927 } 928 929 // 邮箱状态查询 930 // 931 // - 使用邮箱状态查询接口,可以输入邮箱地址,查询出该邮箱地址对应的类型以及状态 932 // 933 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/user/query 934 // 935 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/query_user.go 936 func (u *user) Query(ctx context.Context, req *QueryUserReq, options ...larkcore.RequestOptionFunc) (*QueryUserResp, error) { 937 // 发起请求 938 apiReq := req.apiReq 939 apiReq.ApiPath = "/open-apis/mail/v1/users/query" 940 apiReq.HttpMethod = http.MethodPost 941 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 942 apiResp, err := larkcore.Request(ctx, apiReq, u.service.config, options...) 943 if err != nil { 944 return nil, err 945 } 946 // 反序列响应结果 947 resp := &QueryUserResp{ApiResp: apiResp} 948 err = apiResp.JSONUnmarshalBody(resp) 949 if err != nil { 950 return nil, err 951 } 952 return resp, err 953 } 954 955 // 释放用户邮箱地址 956 // 957 // - 该接口会永久删除用户邮箱地址。可用于删除位于邮箱回收站中的用户邮箱地址,一旦删除,将无法恢复。该接口支持邮件的转移,可以将被释放邮箱的邮件转移到另外一个可以使用的邮箱中。 958 // 959 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/user_mailbox/delete 960 // 961 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/delete_userMailbox.go 962 func (u *userMailbox) Delete(ctx context.Context, req *DeleteUserMailboxReq, options ...larkcore.RequestOptionFunc) (*DeleteUserMailboxResp, error) { 963 // 发起请求 964 apiReq := req.apiReq 965 apiReq.ApiPath = "/open-apis/mail/v1/user_mailboxes/:user_mailbox_id" 966 apiReq.HttpMethod = http.MethodDelete 967 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 968 apiResp, err := larkcore.Request(ctx, apiReq, u.service.config, options...) 969 if err != nil { 970 return nil, err 971 } 972 // 反序列响应结果 973 resp := &DeleteUserMailboxResp{ApiResp: apiResp} 974 err = apiResp.JSONUnmarshalBody(resp) 975 if err != nil { 976 return nil, err 977 } 978 return resp, err 979 } 980 981 // 创建用户邮箱别名 982 // 983 // - 创建用户邮箱别名 984 // 985 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/user_mailbox-alias/create 986 // 987 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/create_userMailboxAlias.go 988 func (u *userMailboxAlias) Create(ctx context.Context, req *CreateUserMailboxAliasReq, options ...larkcore.RequestOptionFunc) (*CreateUserMailboxAliasResp, error) { 989 // 发起请求 990 apiReq := req.apiReq 991 apiReq.ApiPath = "/open-apis/mail/v1/user_mailboxes/:user_mailbox_id/aliases" 992 apiReq.HttpMethod = http.MethodPost 993 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 994 apiResp, err := larkcore.Request(ctx, apiReq, u.service.config, options...) 995 if err != nil { 996 return nil, err 997 } 998 // 反序列响应结果 999 resp := &CreateUserMailboxAliasResp{ApiResp: apiResp} 1000 err = apiResp.JSONUnmarshalBody(resp) 1001 if err != nil { 1002 return nil, err 1003 } 1004 return resp, err 1005 } 1006 1007 // 删除用户邮箱别名 1008 // 1009 // - 删除用户邮箱别名 1010 // 1011 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/user_mailbox-alias/delete 1012 // 1013 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/delete_userMailboxAlias.go 1014 func (u *userMailboxAlias) Delete(ctx context.Context, req *DeleteUserMailboxAliasReq, options ...larkcore.RequestOptionFunc) (*DeleteUserMailboxAliasResp, error) { 1015 // 发起请求 1016 apiReq := req.apiReq 1017 apiReq.ApiPath = "/open-apis/mail/v1/user_mailboxes/:user_mailbox_id/aliases/:alias_id" 1018 apiReq.HttpMethod = http.MethodDelete 1019 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 1020 apiResp, err := larkcore.Request(ctx, apiReq, u.service.config, options...) 1021 if err != nil { 1022 return nil, err 1023 } 1024 // 反序列响应结果 1025 resp := &DeleteUserMailboxAliasResp{ApiResp: apiResp} 1026 err = apiResp.JSONUnmarshalBody(resp) 1027 if err != nil { 1028 return nil, err 1029 } 1030 return resp, err 1031 } 1032 1033 // 获取用户邮箱所有别名 1034 // 1035 // - 获取用户邮箱所有别名 1036 // 1037 // - 官网API文档链接:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/mail-v1/user_mailbox-alias/list 1038 // 1039 // - 使用Demo链接:https://github.com/larksuite/oapi-sdk-go/tree/v3_main/sample/apiall/mailv1/list_userMailboxAlias.go 1040 func (u *userMailboxAlias) List(ctx context.Context, req *ListUserMailboxAliasReq, options ...larkcore.RequestOptionFunc) (*ListUserMailboxAliasResp, error) { 1041 // 发起请求 1042 apiReq := req.apiReq 1043 apiReq.ApiPath = "/open-apis/mail/v1/user_mailboxes/:user_mailbox_id/aliases" 1044 apiReq.HttpMethod = http.MethodGet 1045 apiReq.SupportedAccessTokenTypes = []larkcore.AccessTokenType{larkcore.AccessTokenTypeTenant} 1046 apiResp, err := larkcore.Request(ctx, apiReq, u.service.config, options...) 1047 if err != nil { 1048 return nil, err 1049 } 1050 // 反序列响应结果 1051 resp := &ListUserMailboxAliasResp{ApiResp: apiResp} 1052 err = apiResp.JSONUnmarshalBody(resp) 1053 if err != nil { 1054 return nil, err 1055 } 1056 return resp, err 1057 }