sdk/dingding-sdk/alibabacloud_dingtalk/mail_1_0/client.py

1482 lines
56 KiB
Python

# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
from Tea.core import TeaCore
from alibabacloud_tea_openapi.client import Client as OpenApiClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_gateway_dingtalk.client import Client as GatewayClientClient
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_dingtalk.mail_1_0 import models as dingtalkmail__1__0_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_openapi_util.client import Client as OpenApiUtilClient
class Client(OpenApiClient):
"""
*\
"""
def __init__(
self,
config: open_api_models.Config,
):
super().__init__(config)
gateway_client = GatewayClientClient()
self._spi = gateway_client
self._endpoint_rule = ''
if UtilClient.empty(self._endpoint):
self._endpoint = 'api.dingtalk.com'
def create_mail_folder_with_options(
self,
email: str,
request: dingtalkmail__1__0_models.CreateMailFolderRequest,
headers: dingtalkmail__1__0_models.CreateMailFolderHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.CreateMailFolderResponse:
"""
@summary 创建邮件文件夹
@param request: CreateMailFolderRequest
@param headers: CreateMailFolderHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CreateMailFolderResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.display_name):
body['displayName'] = request.display_name
if not UtilClient.is_unset(request.extensions):
body['extensions'] = request.extensions
if not UtilClient.is_unset(request.foler_id):
body['folerId'] = request.foler_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CreateMailFolder',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.CreateMailFolderResponse(),
self.execute(params, req, runtime)
)
async def create_mail_folder_with_options_async(
self,
email: str,
request: dingtalkmail__1__0_models.CreateMailFolderRequest,
headers: dingtalkmail__1__0_models.CreateMailFolderHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.CreateMailFolderResponse:
"""
@summary 创建邮件文件夹
@param request: CreateMailFolderRequest
@param headers: CreateMailFolderHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CreateMailFolderResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.display_name):
body['displayName'] = request.display_name
if not UtilClient.is_unset(request.extensions):
body['extensions'] = request.extensions
if not UtilClient.is_unset(request.foler_id):
body['folerId'] = request.foler_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CreateMailFolder',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.CreateMailFolderResponse(),
await self.execute_async(params, req, runtime)
)
def create_mail_folder(
self,
email: str,
request: dingtalkmail__1__0_models.CreateMailFolderRequest,
) -> dingtalkmail__1__0_models.CreateMailFolderResponse:
"""
@summary 创建邮件文件夹
@param request: CreateMailFolderRequest
@return: CreateMailFolderResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.CreateMailFolderHeaders()
return self.create_mail_folder_with_options(email, request, headers, runtime)
async def create_mail_folder_async(
self,
email: str,
request: dingtalkmail__1__0_models.CreateMailFolderRequest,
) -> dingtalkmail__1__0_models.CreateMailFolderResponse:
"""
@summary 创建邮件文件夹
@param request: CreateMailFolderRequest
@return: CreateMailFolderResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.CreateMailFolderHeaders()
return await self.create_mail_folder_with_options_async(email, request, headers, runtime)
def create_message_with_options(
self,
email: str,
request: dingtalkmail__1__0_models.CreateMessageRequest,
headers: dingtalkmail__1__0_models.CreateMessageHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.CreateMessageResponse:
"""
@summary 创建草稿
@param request: CreateMessageRequest
@param headers: CreateMessageHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CreateMessageResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.message):
body['message'] = request.message
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CreateMessage',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.CreateMessageResponse(),
self.execute(params, req, runtime)
)
async def create_message_with_options_async(
self,
email: str,
request: dingtalkmail__1__0_models.CreateMessageRequest,
headers: dingtalkmail__1__0_models.CreateMessageHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.CreateMessageResponse:
"""
@summary 创建草稿
@param request: CreateMessageRequest
@param headers: CreateMessageHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CreateMessageResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.message):
body['message'] = request.message
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CreateMessage',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.CreateMessageResponse(),
await self.execute_async(params, req, runtime)
)
def create_message(
self,
email: str,
request: dingtalkmail__1__0_models.CreateMessageRequest,
) -> dingtalkmail__1__0_models.CreateMessageResponse:
"""
@summary 创建草稿
@param request: CreateMessageRequest
@return: CreateMessageResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.CreateMessageHeaders()
return self.create_message_with_options(email, request, headers, runtime)
async def create_message_async(
self,
email: str,
request: dingtalkmail__1__0_models.CreateMessageRequest,
) -> dingtalkmail__1__0_models.CreateMessageResponse:
"""
@summary 创建草稿
@param request: CreateMessageRequest
@return: CreateMessageResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.CreateMessageHeaders()
return await self.create_message_with_options_async(email, request, headers, runtime)
def create_user_with_options(
self,
request: dingtalkmail__1__0_models.CreateUserRequest,
headers: dingtalkmail__1__0_models.CreateUserHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.CreateUserResponse:
"""
@summary 创建企业邮箱用户
@param request: CreateUserRequest
@param headers: CreateUserHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CreateUserResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.email):
body['email'] = request.email
if not UtilClient.is_unset(request.employee_type):
body['employeeType'] = request.employee_type
if not UtilClient.is_unset(request.name):
body['name'] = request.name
if not UtilClient.is_unset(request.password):
body['password'] = request.password
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CreateUser',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.CreateUserResponse(),
self.execute(params, req, runtime)
)
async def create_user_with_options_async(
self,
request: dingtalkmail__1__0_models.CreateUserRequest,
headers: dingtalkmail__1__0_models.CreateUserHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.CreateUserResponse:
"""
@summary 创建企业邮箱用户
@param request: CreateUserRequest
@param headers: CreateUserHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CreateUserResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.email):
body['email'] = request.email
if not UtilClient.is_unset(request.employee_type):
body['employeeType'] = request.employee_type
if not UtilClient.is_unset(request.name):
body['name'] = request.name
if not UtilClient.is_unset(request.password):
body['password'] = request.password
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CreateUser',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.CreateUserResponse(),
await self.execute_async(params, req, runtime)
)
def create_user(
self,
request: dingtalkmail__1__0_models.CreateUserRequest,
) -> dingtalkmail__1__0_models.CreateUserResponse:
"""
@summary 创建企业邮箱用户
@param request: CreateUserRequest
@return: CreateUserResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.CreateUserHeaders()
return self.create_user_with_options(request, headers, runtime)
async def create_user_async(
self,
request: dingtalkmail__1__0_models.CreateUserRequest,
) -> dingtalkmail__1__0_models.CreateUserResponse:
"""
@summary 创建企业邮箱用户
@param request: CreateUserRequest
@return: CreateUserResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.CreateUserHeaders()
return await self.create_user_with_options_async(request, headers, runtime)
def delete_mail_folder_with_options(
self,
email: str,
id: str,
headers: dingtalkmail__1__0_models.DeleteMailFolderHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.DeleteMailFolderResponse:
"""
@summary 删除文件夹
@param headers: DeleteMailFolderHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteMailFolderResponse
"""
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers
)
params = open_api_models.Params(
action='DeleteMailFolder',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders/{id}',
method='DELETE',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.DeleteMailFolderResponse(),
self.execute(params, req, runtime)
)
async def delete_mail_folder_with_options_async(
self,
email: str,
id: str,
headers: dingtalkmail__1__0_models.DeleteMailFolderHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.DeleteMailFolderResponse:
"""
@summary 删除文件夹
@param headers: DeleteMailFolderHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteMailFolderResponse
"""
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers
)
params = open_api_models.Params(
action='DeleteMailFolder',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders/{id}',
method='DELETE',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.DeleteMailFolderResponse(),
await self.execute_async(params, req, runtime)
)
def delete_mail_folder(
self,
email: str,
id: str,
) -> dingtalkmail__1__0_models.DeleteMailFolderResponse:
"""
@summary 删除文件夹
@return: DeleteMailFolderResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.DeleteMailFolderHeaders()
return self.delete_mail_folder_with_options(email, id, headers, runtime)
async def delete_mail_folder_async(
self,
email: str,
id: str,
) -> dingtalkmail__1__0_models.DeleteMailFolderResponse:
"""
@summary 删除文件夹
@return: DeleteMailFolderResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.DeleteMailFolderHeaders()
return await self.delete_mail_folder_with_options_async(email, id, headers, runtime)
def delete_messages_with_options(
self,
email: str,
request: dingtalkmail__1__0_models.DeleteMessagesRequest,
headers: dingtalkmail__1__0_models.DeleteMessagesHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.DeleteMessagesResponse:
"""
@summary 批量删除邮件
@param request: DeleteMessagesRequest
@param headers: DeleteMessagesHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteMessagesResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.delete_type):
body['deleteType'] = request.delete_type
if not UtilClient.is_unset(request.ids):
body['ids'] = request.ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='DeleteMessages',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages/batchDelete',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.DeleteMessagesResponse(),
self.execute(params, req, runtime)
)
async def delete_messages_with_options_async(
self,
email: str,
request: dingtalkmail__1__0_models.DeleteMessagesRequest,
headers: dingtalkmail__1__0_models.DeleteMessagesHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.DeleteMessagesResponse:
"""
@summary 批量删除邮件
@param request: DeleteMessagesRequest
@param headers: DeleteMessagesHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteMessagesResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.delete_type):
body['deleteType'] = request.delete_type
if not UtilClient.is_unset(request.ids):
body['ids'] = request.ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='DeleteMessages',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages/batchDelete',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.DeleteMessagesResponse(),
await self.execute_async(params, req, runtime)
)
def delete_messages(
self,
email: str,
request: dingtalkmail__1__0_models.DeleteMessagesRequest,
) -> dingtalkmail__1__0_models.DeleteMessagesResponse:
"""
@summary 批量删除邮件
@param request: DeleteMessagesRequest
@return: DeleteMessagesResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.DeleteMessagesHeaders()
return self.delete_messages_with_options(email, request, headers, runtime)
async def delete_messages_async(
self,
email: str,
request: dingtalkmail__1__0_models.DeleteMessagesRequest,
) -> dingtalkmail__1__0_models.DeleteMessagesResponse:
"""
@summary 批量删除邮件
@param request: DeleteMessagesRequest
@return: DeleteMessagesResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.DeleteMessagesHeaders()
return await self.delete_messages_with_options_async(email, request, headers, runtime)
def get_message_with_options(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.GetMessageRequest,
headers: dingtalkmail__1__0_models.GetMessageHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.GetMessageResponse:
"""
@summary 获取邮件元数据
@param request: GetMessageRequest
@param headers: GetMessageHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetMessageResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.select_fields):
query['selectFields'] = request.select_fields
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetMessage',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages/{id}',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.GetMessageResponse(),
self.execute(params, req, runtime)
)
async def get_message_with_options_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.GetMessageRequest,
headers: dingtalkmail__1__0_models.GetMessageHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.GetMessageResponse:
"""
@summary 获取邮件元数据
@param request: GetMessageRequest
@param headers: GetMessageHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetMessageResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.select_fields):
query['selectFields'] = request.select_fields
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetMessage',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages/{id}',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.GetMessageResponse(),
await self.execute_async(params, req, runtime)
)
def get_message(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.GetMessageRequest,
) -> dingtalkmail__1__0_models.GetMessageResponse:
"""
@summary 获取邮件元数据
@param request: GetMessageRequest
@return: GetMessageResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.GetMessageHeaders()
return self.get_message_with_options(email, id, request, headers, runtime)
async def get_message_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.GetMessageRequest,
) -> dingtalkmail__1__0_models.GetMessageResponse:
"""
@summary 获取邮件元数据
@param request: GetMessageRequest
@return: GetMessageResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.GetMessageHeaders()
return await self.get_message_with_options_async(email, id, request, headers, runtime)
def list_mail_folders_with_options(
self,
email: str,
request: dingtalkmail__1__0_models.ListMailFoldersRequest,
headers: dingtalkmail__1__0_models.ListMailFoldersHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.ListMailFoldersResponse:
"""
@summary 获取指定文件夹的子文件夹列表
@param request: ListMailFoldersRequest
@param headers: ListMailFoldersHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ListMailFoldersResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.folder_id):
query['folderId'] = request.folder_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListMailFolders',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.ListMailFoldersResponse(),
self.execute(params, req, runtime)
)
async def list_mail_folders_with_options_async(
self,
email: str,
request: dingtalkmail__1__0_models.ListMailFoldersRequest,
headers: dingtalkmail__1__0_models.ListMailFoldersHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.ListMailFoldersResponse:
"""
@summary 获取指定文件夹的子文件夹列表
@param request: ListMailFoldersRequest
@param headers: ListMailFoldersHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ListMailFoldersResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.folder_id):
query['folderId'] = request.folder_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListMailFolders',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.ListMailFoldersResponse(),
await self.execute_async(params, req, runtime)
)
def list_mail_folders(
self,
email: str,
request: dingtalkmail__1__0_models.ListMailFoldersRequest,
) -> dingtalkmail__1__0_models.ListMailFoldersResponse:
"""
@summary 获取指定文件夹的子文件夹列表
@param request: ListMailFoldersRequest
@return: ListMailFoldersResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.ListMailFoldersHeaders()
return self.list_mail_folders_with_options(email, request, headers, runtime)
async def list_mail_folders_async(
self,
email: str,
request: dingtalkmail__1__0_models.ListMailFoldersRequest,
) -> dingtalkmail__1__0_models.ListMailFoldersResponse:
"""
@summary 获取指定文件夹的子文件夹列表
@param request: ListMailFoldersRequest
@return: ListMailFoldersResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.ListMailFoldersHeaders()
return await self.list_mail_folders_with_options_async(email, request, headers, runtime)
def list_messages_with_options(
self,
email: str,
folder_id: str,
request: dingtalkmail__1__0_models.ListMessagesRequest,
headers: dingtalkmail__1__0_models.ListMessagesHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.ListMessagesResponse:
"""
@summary 获取邮件列表
@param request: ListMessagesRequest
@param headers: ListMessagesHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ListMessagesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['nextToken'] = request.next_token
if not UtilClient.is_unset(request.select_fields):
query['selectFields'] = request.select_fields
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListMessages',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders/{folder_id}/messages',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.ListMessagesResponse(),
self.execute(params, req, runtime)
)
async def list_messages_with_options_async(
self,
email: str,
folder_id: str,
request: dingtalkmail__1__0_models.ListMessagesRequest,
headers: dingtalkmail__1__0_models.ListMessagesHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.ListMessagesResponse:
"""
@summary 获取邮件列表
@param request: ListMessagesRequest
@param headers: ListMessagesHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ListMessagesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['nextToken'] = request.next_token
if not UtilClient.is_unset(request.select_fields):
query['selectFields'] = request.select_fields
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListMessages',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders/{folder_id}/messages',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.ListMessagesResponse(),
await self.execute_async(params, req, runtime)
)
def list_messages(
self,
email: str,
folder_id: str,
request: dingtalkmail__1__0_models.ListMessagesRequest,
) -> dingtalkmail__1__0_models.ListMessagesResponse:
"""
@summary 获取邮件列表
@param request: ListMessagesRequest
@return: ListMessagesResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.ListMessagesHeaders()
return self.list_messages_with_options(email, folder_id, request, headers, runtime)
async def list_messages_async(
self,
email: str,
folder_id: str,
request: dingtalkmail__1__0_models.ListMessagesRequest,
) -> dingtalkmail__1__0_models.ListMessagesResponse:
"""
@summary 获取邮件列表
@param request: ListMessagesRequest
@return: ListMessagesResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.ListMessagesHeaders()
return await self.list_messages_with_options_async(email, folder_id, request, headers, runtime)
def move_mail_folder_with_options(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.MoveMailFolderRequest,
headers: dingtalkmail__1__0_models.MoveMailFolderHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.MoveMailFolderResponse:
"""
@summary 移动文件夹
@param request: MoveMailFolderRequest
@param headers: MoveMailFolderHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: MoveMailFolderResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.destination_folder_id):
body['destinationFolderId'] = request.destination_folder_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='MoveMailFolder',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders/{id}/move',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.MoveMailFolderResponse(),
self.execute(params, req, runtime)
)
async def move_mail_folder_with_options_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.MoveMailFolderRequest,
headers: dingtalkmail__1__0_models.MoveMailFolderHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.MoveMailFolderResponse:
"""
@summary 移动文件夹
@param request: MoveMailFolderRequest
@param headers: MoveMailFolderHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: MoveMailFolderResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.destination_folder_id):
body['destinationFolderId'] = request.destination_folder_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='MoveMailFolder',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders/{id}/move',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.MoveMailFolderResponse(),
await self.execute_async(params, req, runtime)
)
def move_mail_folder(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.MoveMailFolderRequest,
) -> dingtalkmail__1__0_models.MoveMailFolderResponse:
"""
@summary 移动文件夹
@param request: MoveMailFolderRequest
@return: MoveMailFolderResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.MoveMailFolderHeaders()
return self.move_mail_folder_with_options(email, id, request, headers, runtime)
async def move_mail_folder_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.MoveMailFolderRequest,
) -> dingtalkmail__1__0_models.MoveMailFolderResponse:
"""
@summary 移动文件夹
@param request: MoveMailFolderRequest
@return: MoveMailFolderResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.MoveMailFolderHeaders()
return await self.move_mail_folder_with_options_async(email, id, request, headers, runtime)
def send_message_with_options(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.SendMessageRequest,
headers: dingtalkmail__1__0_models.SendMessageHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.SendMessageResponse:
"""
@summary 发送邮件
@param request: SendMessageRequest
@param headers: SendMessageHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: SendMessageResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.save_to_sent_items):
body['saveToSentItems'] = request.save_to_sent_items
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='SendMessage',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages/{id}/send',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.SendMessageResponse(),
self.execute(params, req, runtime)
)
async def send_message_with_options_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.SendMessageRequest,
headers: dingtalkmail__1__0_models.SendMessageHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.SendMessageResponse:
"""
@summary 发送邮件
@param request: SendMessageRequest
@param headers: SendMessageHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: SendMessageResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.save_to_sent_items):
body['saveToSentItems'] = request.save_to_sent_items
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='SendMessage',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages/{id}/send',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.SendMessageResponse(),
await self.execute_async(params, req, runtime)
)
def send_message(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.SendMessageRequest,
) -> dingtalkmail__1__0_models.SendMessageResponse:
"""
@summary 发送邮件
@param request: SendMessageRequest
@return: SendMessageResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.SendMessageHeaders()
return self.send_message_with_options(email, id, request, headers, runtime)
async def send_message_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.SendMessageRequest,
) -> dingtalkmail__1__0_models.SendMessageResponse:
"""
@summary 发送邮件
@param request: SendMessageRequest
@return: SendMessageResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.SendMessageHeaders()
return await self.send_message_with_options_async(email, id, request, headers, runtime)
def update_mail_folder_with_options(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.UpdateMailFolderRequest,
headers: dingtalkmail__1__0_models.UpdateMailFolderHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.UpdateMailFolderResponse:
"""
@summary 修改文件夹信息
@param request: UpdateMailFolderRequest
@param headers: UpdateMailFolderHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: UpdateMailFolderResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.display_name):
body['displayName'] = request.display_name
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='UpdateMailFolder',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders/{id}/update',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.UpdateMailFolderResponse(),
self.execute(params, req, runtime)
)
async def update_mail_folder_with_options_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.UpdateMailFolderRequest,
headers: dingtalkmail__1__0_models.UpdateMailFolderHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.UpdateMailFolderResponse:
"""
@summary 修改文件夹信息
@param request: UpdateMailFolderRequest
@param headers: UpdateMailFolderHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: UpdateMailFolderResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.display_name):
body['displayName'] = request.display_name
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='UpdateMailFolder',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/mailFolders/{id}/update',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.UpdateMailFolderResponse(),
await self.execute_async(params, req, runtime)
)
def update_mail_folder(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.UpdateMailFolderRequest,
) -> dingtalkmail__1__0_models.UpdateMailFolderResponse:
"""
@summary 修改文件夹信息
@param request: UpdateMailFolderRequest
@return: UpdateMailFolderResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.UpdateMailFolderHeaders()
return self.update_mail_folder_with_options(email, id, request, headers, runtime)
async def update_mail_folder_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.UpdateMailFolderRequest,
) -> dingtalkmail__1__0_models.UpdateMailFolderResponse:
"""
@summary 修改文件夹信息
@param request: UpdateMailFolderRequest
@return: UpdateMailFolderResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.UpdateMailFolderHeaders()
return await self.update_mail_folder_with_options_async(email, id, request, headers, runtime)
def update_message_with_options(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.UpdateMessageRequest,
headers: dingtalkmail__1__0_models.UpdateMessageHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.UpdateMessageResponse:
"""
@summary 修改草稿
@param request: UpdateMessageRequest
@param headers: UpdateMessageHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: UpdateMessageResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.message):
body['message'] = request.message
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='UpdateMessage',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages/{id}/update',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.UpdateMessageResponse(),
self.execute(params, req, runtime)
)
async def update_message_with_options_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.UpdateMessageRequest,
headers: dingtalkmail__1__0_models.UpdateMessageHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkmail__1__0_models.UpdateMessageResponse:
"""
@summary 修改草稿
@param request: UpdateMessageRequest
@param headers: UpdateMessageHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: UpdateMessageResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.message):
body['message'] = request.message
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='UpdateMessage',
version='mail_1.0',
protocol='HTTP',
pathname=f'/v1.0/mail/users/{email}/messages/{id}/update',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkmail__1__0_models.UpdateMessageResponse(),
await self.execute_async(params, req, runtime)
)
def update_message(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.UpdateMessageRequest,
) -> dingtalkmail__1__0_models.UpdateMessageResponse:
"""
@summary 修改草稿
@param request: UpdateMessageRequest
@return: UpdateMessageResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.UpdateMessageHeaders()
return self.update_message_with_options(email, id, request, headers, runtime)
async def update_message_async(
self,
email: str,
id: str,
request: dingtalkmail__1__0_models.UpdateMessageRequest,
) -> dingtalkmail__1__0_models.UpdateMessageResponse:
"""
@summary 修改草稿
@param request: UpdateMessageRequest
@return: UpdateMessageResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkmail__1__0_models.UpdateMessageHeaders()
return await self.update_message_with_options_async(email, id, request, headers, runtime)