You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Office365-REST-Python-Client获取邮件收发日期报错解决

解决Office365-REST-Python-Client获取邮件接收日期的AttributeError问题

问题原因

Office365-REST-Python-Client库会自动将Graph API的驼峰式字段名(如receivedDateTime)转换为Python风格的蛇形命名(received_date_time),直接调用message.receivedDateTime会触发属性不存在的错误。

解决方案

方案1:使用蛇形命名属性

修改代码中获取接收日期的行,替换为蛇形命名的属性:

email = {
    "Subject": message.subject,
    "Sender": f"{message.sender.emailAddress.name} <{sender_email}>",
    "Body": parse_html_to_json(message.body.content),
    "Attachments": [],
    "Date": message.received_date_time,  # 替换为蛇形命名
}

方案2:直接通过字段键获取

如果不确定命名转换规则,可使用get_property方法直接指定API原生字段名:

email = {
    "Subject": message.subject,
    "Sender": f"{message.sender.emailAddress.name} <{sender_email}>",
    "Body": parse_html_to_json(message.body.content),
    "Attachments": [],
    "Date": message.get_property('receivedDateTime'),  # 直接调用API字段名
}

可选验证步骤

若仍有问题,可先打印邮件对象的所有已获取属性,确认字段是否被正确拉取:

for message in messages:
    print(message.properties)  # 输出所有已加载的属性

内容的提问来源于stack exchange,提问作者geno8771

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:32:41