通过exchangelib 创建日历
前言
网上好多的例子有好多,要么是从githut上复制的,要么从“知乎”上找的中文版,想直接复制拿来用,经常会报个错。特别是tz = EWSTimeZone.timezone(‘Europe/Copenhagen’) 语句会报: type object ‘EWSTimeZone’ has no attribute ‘timezone’ 错误,“香菇蓝瘦”。
calendar 创建和查询
创建calendar
啥话不说,直接上代码
import xlwt
import datetime
import timedelta
import json
import pytz
from exchangelib import DELEGATE, IMPERSONATION, Account, Credentials, \
EWSDateTime, EWSTimeZone, Configuration, NTLM, GSSAPI, CalendarItem, Message, \
Mailbox, Attendee, Q, ExtendedProperty, FileAttachment, ItemAttachment, \
HTMLBody, Build, Version, FolderCollection, Folder, folders
credentials = Credentials('xxx@outlook.com', '密码') # 设置 outlook.com 邮箱和密码
a = Account('xxx@outlook.com', credentials=credentials, autodiscover=True) # 设置 outlook 邮箱
pytz_tz = pytz.timezone('Asia/Shanghai') # 设置时区 'Asia/Shanghai'
# 创建日历请求并将其发送出去
item = CalendarItem(
account=a,
folder=a.calendar,
start=pytz_tz.localize(datetime.datetime(2022, 3, 25, 12, 15)), # 设置开始日期和时间
end=pytz_tz.localize(datetime.datetime(2022, 3, 28, 14, 15