2016-07-08 18 views
1

Ich verwende Microsofts Beispiel-Django-App und versuche, Kalenderereignisse von jetzt bis vor einem Jahr zu lesen. Die API-Anforderung wird mit den Funktionen anfordern Python getan:Wie füge ich Anfangs- und Enddatum und -zeiten für den Outlook-Kalender-API-Aufruf ein

response = requests.get(url, headers = headers, params = parameters) 

-Header ist Standard-API-Anfrage bezogen werden:

headers = { 'User-Agent' : 'python_events/1.0', 
      'Authorization' : 'Bearer {0}'.format(token), 
      'Accept' : 'application/json', 
      'X-AnchorMailbox' : user_email } 

Und für Parameter Ich bin vorbei:

query_parameters = {'$top': '2500', 
         '$select': 'Id,Subject,Start,End', 
         '$orderby': 'Start/DateTime ASC'} 

Nun, ich versuchte, Anfangs- und Enddaten zu definieren als:

now = datetime.utcnow() 
    one_year = now - timedelta(days=365) 
    now = now.isoformat() 
    one_year = one_year.isoformat() 
Dann werden 10

, versucht und startdatetime endDateTime Parameter in dem gleichen query_parameters dict einzufügen:

query_parameters = {'$top': '2500', 
         '$select': 'Id,Subject,Start,End', 
         '$orderby': 'Start/DateTime ASC', 
         'startDateTime' : one_year, 
         'endDateTime': now 
        } 

Ich bin immer noch immer Event-Dumps von vor einem Jahr vor. Was mache ich hier falsch? Ist query_parameters der richtige Ort, um Start- und Enddatum und -zeiten einzugeben?

+0

Was ist der Wert von "URL"? –

+0

Hallo Jason, der URL-Wert ist: https://outlook.office.com/api/v2.0/Me/Events –

Antwort

0

Um die startDateTime und endDateTime Parameter zu verwenden, um den Datumsbereich zu begrenzen, müssen Sie ein GET auf dem /calendarview Endpunkt tun, nicht /events. Der /events Endpunkt unterstützt diese Parameter nicht.

Ändern Sie Ihre url zu https://outlook.office.com/api/v2.0/Me/calendarview und sehen Sie, ob Sie bessere Ergebnisse erzielen.

+0

Das war es! Danke Jason, schätze deine Hilfe. –