Python-Outlook响应(接受、拒绝等)日期/时间

Python-Outlook响应(接受、拒绝等)日期/时间,python,outlook,win32com,Python,Outlook,Win32com,我正在从事一个项目,该项目涉及从多人的Outlook中提取大量约会/会议数据。我试图找到的一条信息是每位与会者的回复,如果可能的话,还有回复发生的日期和时间。例如,如果X个人在2015年4月21日下午12:31:00向我发送会议请求,而我在2015年4月21日下午1:30:00接受了会议请求,我将如何获得这两次中的后者?我一直在浏览Microsoft文档以获取此(),但到目前为止运气不佳 下面是Python的快速摘要: import win32com.client outlook = win3

我正在从事一个项目,该项目涉及从多人的Outlook中提取大量约会/会议数据。我试图找到的一条信息是每位与会者的回复,如果可能的话,还有回复发生的日期和时间。例如,如果X个人在2015年4月21日下午12:31:00向我发送会议请求,而我在2015年4月21日下午1:30:00接受了会议请求,我将如何获得这两次中的后者?我一直在浏览Microsoft文档以获取此(),但到目前为止运气不佳

下面是Python的快速摘要:

import win32com.client

outlook = win32com.client.Dispatch('Outlook.Application')
namespace = outlook.GetNamespace('MAPI')

recipient = namespace.createRecipient('Other Person')
resolved = recipient.Resolve()
sharedCalendar = namespace.GetSharedDefaultFolder(recipient, 9)

appointments = sharedCalendar.Items

for i in range(0,1):
    print appointments[i]
    print appointments[i].start
    print appointments[i].end
    print appointments[i].organizer
    print appointments[i].location
    print appointments[i].duration

    for j in range(0,len(appointments[i].recipients)):
        print 'recip, status: ' + str(appointments[i].recipients[j]) + ', ' + str(appointments[i].recipients[j].TrackingStatusTime)

这里是另一种方式

import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
messages.Sort("[ReceivedTime]", True)

for i, msg in enumerate(messages):
    
    print(msg.MessageClass) # use this in condition

    if msg.MessageClass=='IPM.Note':
        print('This a Meeting')

    elif msg.MessageClass =='IPM.Schedule.Meeting.Request':
        print('This is a meeting Meeting')
    elif msg.MessageClass =='IPM.Schedule.Meeting.Resp.Pos':
        print('Accepted Response , POS = Positive')
    elif msg.MessageClass =='IPM.Schedule.Meeting.Resp.Tent':
        print('Accepted as Tentative ')
    elif msg.MessageClass == 'IPM.Schedule.Meeting.Resp.Neg':
        print('Declined Meeting , Neg = Negative')

    # Check only first 10 items, change the number as per requirement
    if i > 10:
        break 
这里是另一种方法

import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
messages.Sort("[ReceivedTime]", True)

for i, msg in enumerate(messages):
    
    print(msg.MessageClass) # use this in condition

    if msg.MessageClass=='IPM.Note':
        print('This a Meeting')

    elif msg.MessageClass =='IPM.Schedule.Meeting.Request':
        print('This is a meeting Meeting')
    elif msg.MessageClass =='IPM.Schedule.Meeting.Resp.Pos':
        print('Accepted Response , POS = Positive')
    elif msg.MessageClass =='IPM.Schedule.Meeting.Resp.Tent':
        print('Accepted as Tentative ')
    elif msg.MessageClass == 'IPM.Schedule.Meeting.Resp.Neg':
        print('Declined Meeting , Neg = Negative')

    # Check only first 10 items, change the number as per requirement
    if i > 10:
        break 
这里是另一种方法

import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
messages.Sort("[ReceivedTime]", True)

for i, msg in enumerate(messages):
    
    print(msg.MessageClass) # use this in condition

    if msg.MessageClass=='IPM.Note':
        print('This a Meeting')

    elif msg.MessageClass =='IPM.Schedule.Meeting.Request':
        print('This is a meeting Meeting')
    elif msg.MessageClass =='IPM.Schedule.Meeting.Resp.Pos':
        print('Accepted Response , POS = Positive')
    elif msg.MessageClass =='IPM.Schedule.Meeting.Resp.Tent':
        print('Accepted as Tentative ')
    elif msg.MessageClass == 'IPM.Schedule.Meeting.Resp.Neg':
        print('Declined Meeting , Neg = Negative')

    # Check only first 10 items, change the number as per requirement
    if i > 10:
        break 
这里是另一种方法

import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
messages.Sort("[ReceivedTime]", True)

for i, msg in enumerate(messages):
    
    print(msg.MessageClass) # use this in condition

    if msg.MessageClass=='IPM.Note':
        print('This a Meeting')

    elif msg.MessageClass =='IPM.Schedule.Meeting.Request':
        print('This is a meeting Meeting')
    elif msg.MessageClass =='IPM.Schedule.Meeting.Resp.Pos':
        print('Accepted Response , POS = Positive')
    elif msg.MessageClass =='IPM.Schedule.Meeting.Resp.Tent':
        print('Accepted as Tentative ')
    elif msg.MessageClass == 'IPM.Schedule.Meeting.Resp.Neg':
        print('Declined Meeting , Neg = Negative')

    # Check only first 10 items, change the number as per requirement
    if i > 10:
        break 


我不知道这是否有帮助,但如果可能的话,我认为它会位于此站点附近:。我不知道这是否有帮助,但如果可能的话,我认为它会位于此站点附近:。我不知道这是否有帮助,但如果可能的话,我认为它会位于此站点附近:。我不知道这是否有帮助,但如果可能的话,我认为它可能位于此网站的某个位置:。是否可能为每个收件人获取回复时间?谢谢当然,请使用Recipient.MeetingResponseStatus属性。请注意,它将仅在组织者日历文件夹中的约会上设置。我认为MeetingResponseStatus无法获取“ReplyTime”(请参阅)。它可能-Recipient.TrackingStatusTime将返回与会者发送响应的时间。太好了。是否对收件人有任何警告。跟踪状态?当我获取此字段时,我将检索几乎所有的“01/01/01 00:00:00”值。我正在引用namespace.GetSharedDefaultFolder()以获取此数据。。。这可能会限制我所能看到的信息吗?谢谢您的帮助。是否可以为每个收件人获得回复时间?谢谢当然,请使用Recipient.MeetingResponseStatus属性。请注意,它将仅在组织者日历文件夹中的约会上设置。我认为MeetingResponseStatus无法获取“ReplyTime”(请参阅)。它可能-Recipient.TrackingStatusTime将返回与会者发送响应的时间。太好了。是否对收件人有任何警告。跟踪状态?当我获取此字段时,我将检索几乎所有的“01/01/01 00:00:00”值。我正在引用namespace.GetSharedDefaultFolder()以获取此数据。。。这可能会限制我所能看到的信息吗?谢谢您的帮助。是否可以为每个收件人获得回复时间?谢谢当然,请使用Recipient.MeetingResponseStatus属性。请注意,它将仅在组织者日历文件夹中的约会上设置。我认为MeetingResponseStatus无法获取“ReplyTime”(请参阅)。它可能-Recipient.TrackingStatusTime将返回与会者发送响应的时间。太好了。是否对收件人有任何警告。跟踪状态?当我获取此字段时,我将检索几乎所有的“01/01/01 00:00:00”值。我正在引用namespace.GetSharedDefaultFolder()以获取此数据。。。这可能会限制我所能看到的信息吗?谢谢您的帮助。是否可以为每个收件人获得回复时间?谢谢当然,请使用Recipient.MeetingResponseStatus属性。请注意,它将仅在组织者日历文件夹中的约会上设置。我认为MeetingResponseStatus无法获取“ReplyTime”(请参阅)。它可能-Recipient.TrackingStatusTime将返回与会者发送响应的时间。太好了。是否对收件人有任何警告。跟踪状态?当我获取此字段时,我将检索几乎所有的“01/01/01 00:00:00”值。我正在引用namespace.GetSharedDefaultFolder()以获取此数据。。。这可能会限制我所能看到的信息吗?谢谢你的帮助。