2016-07-20 8 views
0

Ich versuche, „freigegebenen Kalender“, basierend auf pyexchange und den folgenden Code für den Zugriff auf und liest:Zugriff auf freigegebene Kalender mit pyexchange

from pyexchange import Exchange2010Service, ExchangeNTLMAuthConnection 
from datetime import datetime 
from pytz import timezone 

#Connection 
URL = 'https://<server name>/EWS/Exchange.asmx' 
USERNAME = '<Domain>\\<User Name>' 
PASSWORD = '<Your Password>' 

# Set up the connection to Exchange 
connection = ExchangeNTLMAuthConnection(url=URL, 
             username=USERNAME, 
             password=PASSWORD) 

service = Exchange2010Service(connection) 

# List all events from date to date 
calendar_list = service.calendar().list_events(
    start=timezone('Europe/Amsterdam').localize(datetime(2016, 6, 1)), 
    end=timezone('Europe/Amsterdam').localize(datetime(2016, 6, 30)), 
    details=True 
) 

for event in calendar_list.events: 
    print("{start} ------ {stop} ------ {subject}".format(
     start=event.start, 
     stop=event.end, 
     subject=event.subject 
    )) 

Alles funktioniert super mit meinem Kalender, aber ich weiß nicht, wie man Machen Sie das selbe für die 3 "geteilten Kalender": Screenshot of my calendar view

Irgendeine Idee, wie man die 3 "geteilten Kalender" auflistet? Ich verwende Outlook auf einem Mac.

+0

Haben Sie jemals eine Antwort darauf gefunden? Ich versuche dasselbe zu machen und habe nicht viel Erfolg. – ElPedro

Antwort

2

Ich könnte das gleiche Problem lösen.

connection = ExchangeNTLMAuthConnection(url=URL, 
            username=USERNAME, 
            password=PASSWORD) 
service = Exchange2010Service(connection) 
my_calendar = service.calendar() 
events = my_calendar.list_events(
    start=timezone("US/Eastern").localize(datetime(2014, 10, 1, 11, 0, 0)), 
    end=timezone("US/Eastern").localize(datetime(2014, 10, 29, 11, 0, 0)), 
    details=True, 
    delegate_for=u'[email protected]' ### This is the key point!! 
) 
for event in events.events: 
    print "{start} {stop} - {subject}".format(
     start=event.start, 
     stop=event.end, 
     subject=event.subject 
    ) 

Sie können die Option "delegate_for" verwenden. Möglicherweise müssen Sie hierfür pyexchange 0.7-dev verwenden.

Führen Sie unten, um es zu installieren.

sudo pip install git+https://github.com/linkedin/pyexchange.git