# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
import os
import sys
from typing import List
from alibabacloud_dingtalk.calendar_1_0.client import Client as dingtalkcalendar_1_0Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dingtalk.calendar_1_0 import models as dingtalkcalendar__1__0_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient
class Sample:
def __init__(self):
pass
@staticmethod
def create_client() -> dingtalkcalendar_1_0Client:
"""
使用 Token 初始化账号Client
@return: Client
@throws Exception
"""
config = open_api_models.Config()
config.protocol = 'https'
config.region_id = 'central'
return dingtalkcalendar_1_0Client(config)
@staticmethod
def main(
args: List[str],
) -> None:
client = Sample.create_client()
patch_event_headers = dingtalkcalendar__1__0_models.PatchEventHeaders()
patch_event_headers.x_acs_dingtalk_access_token = '<your access token>'
ui_configs_0 = dingtalkcalendar__1__0_models.PatchEventRequestUiConfigs()
rich_text_description = dingtalkcalendar__1__0_models.PatchEventRequestRichTextDescription()
online_meeting_info = dingtalkcalendar__1__0_models.PatchEventRequestOnlineMeetingInfo(
type='dingtalk'
)
reminders_0 = dingtalkcalendar__1__0_models.PatchEventRequestReminders(
method='dingtalk',
minutes=15
)
location = dingtalkcalendar__1__0_models.PatchEventRequestLocation(
display_name='room 1-2-3'
)
attendees_0 = dingtalkcalendar__1__0_models.PatchEventRequestAttendees(
id='iiiP35sJadba8aBSgjrwPRKgiEiF',
is_optional=False
)
recurrence_range = dingtalkcalendar__1__0_models.PatchEventRequestRecurrenceRange(
type='endDate',
end_date='2021-12-31T10:15:30+08:00',
number_of_occurrences=1
)
recurrence_pattern = dingtalkcalendar__1__0_models.PatchEventRequestRecurrencePattern(
type='daily',
day_of_month=1,
days_of_week='sunday',
index='last',
interval=1
)
recurrence = dingtalkcalendar__1__0_models.PatchEventRequestRecurrence(
pattern=recurrence_pattern,
range=recurrence_range
)
end = dingtalkcalendar__1__0_models.PatchEventRequestEnd(
date='2020-01-02',
date_time='2020-01-01T10:15:30+08:00',
time_zone='Asia/Shanghai'
)
start = dingtalkcalendar__1__0_models.PatchEventRequestStart(
date='2020-01-01',
date_time='2020-01-01T10:15:30+08:00',
time_zone='Asia/Shanghai'
)
patch_event_request = dingtalkcalendar__1__0_models.PatchEventRequest(
summary='some event',
id='cnNTbWxxx',
description='这是一个日程',
start=start,
end=end,
is_all_day=False,
recurrence=recurrence,
attendees=[
attendees_0
],
location=location,
reminders=[
reminders_0
],
online_meeting_info=online_meeting_info,
rich_text_description=rich_text_description,
ui_configs=[
ui_configs_0
]
)
try:
client.patch_event_with_options('iiiP35sJaxxx', 'primary', 'cnNTbWxxx', patch_event_request, patch_event_headers, util_models.RuntimeOptions())
except Exception as err:
if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
# err 中含有 code 和 message 属性,可帮助开发定位问题
pass
@staticmethod
async def main_async(
args: List[str],
) -> None:
client = Sample.create_client()
patch_event_headers = dingtalkcalendar__1__0_models.PatchEventHeaders()
patch_event_headers.x_acs_dingtalk_access_token = '<your access token>'
ui_configs_0 = dingtalkcalendar__1__0_models.PatchEventRequestUiConfigs()
rich_text_description = dingtalkcalendar__1__0_models.PatchEventRequestRichTextDescription()
online_meeting_info = dingtalkcalendar__1__0_models.PatchEventRequestOnlineMeetingInfo(
type='dingtalk'
)
reminders_0 = dingtalkcalendar__1__0_models.PatchEventRequestReminders(
method='dingtalk',
minutes=15
)
location = dingtalkcalendar__1__0_models.PatchEventRequestLocation(
display_name='room 1-2-3'
)
attendees_0 = dingtalkcalendar__1__0_models.PatchEventRequestAttendees(
id='iiiP35sJadba8aBSgjrwPRKgiEiF',
is_optional=False
)
recurrence_range = dingtalkcalendar__1__0_models.PatchEventRequestRecurrenceRange(
type='endDate',
end_date='2021-12-31T10:15:30+08:00',
number_of_occurrences=1
)
recurrence_pattern = dingtalkcalendar__1__0_models.PatchEventRequestRecurrencePattern(
type='daily',
day_of_month=1,
days_of_week='sunday',
index='last',
interval=1
)
recurrence = dingtalkcalendar__1__0_models.PatchEventRequestRecurrence(
pattern=recurrence_pattern,
range=recurrence_range
)
end = dingtalkcalendar__1__0_models.PatchEventRequestEnd(
date='2020-01-02',
date_time='2020-01-01T10:15:30+08:00',
time_zone='Asia/Shanghai'
)
start = dingtalkcalendar__1__0_models.PatchEventRequestStart(
date='2020-01-01',
date_time='2020-01-01T10:15:30+08:00',
time_zone='Asia/Shanghai'
)
patch_event_request = dingtalkcalendar__1__0_models.PatchEventRequest(
summary='some event',
id='cnNTbWxxx',
description='这是一个日程',
start=start,
end=end,
is_all_day=False,
recurrence=recurrence,
attendees=[
attendees_0
],
location=location,
reminders=[
reminders_0
],
online_meeting_info=online_meeting_info,
rich_text_description=rich_text_description,
ui_configs=[
ui_configs_0
]
)
try:
await client.patch_event_with_options_async('iiiP35sJaxxx', 'primary', 'cnNTbWxxx', patch_event_request, patch_event_headers, util_models.RuntimeOptions())
except Exception as err:
if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
# err 中含有 code 和 message 属性,可帮助开发定位问题
pass
if __name__ == '__main__':
Sample.main(sys.argv[1:])