2016-12-01 3 views
0

im Erstellen der Fehler immerPython/Json - KeyError 'Body', wenn

>>> appt = CreateEvent(authentication, result[0].calendarId, subject_text, start_time, end_time, subscribers, content) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "<stdin>", line 9, in CreateEvent 
KeyError: 'Body' 

für den nachstehenden Code, im neu so verstehen nicht JSon warum diese nicht funktioniert. alle anderen arbeiten, aber ich sehe Fehler auf dem Körper, ist es weil ich zwei [] verwende? Dies ist an die Office 365 API zu senden, so dass es in diesem Format erwartet.

Dank

def CreateEvent(auth, calendar, subject, start_time, end_time, attendees, content): 
    create_url = 'https://outlook.office365.com/api/v1.0/me/calendars/{0}/events'.format(calendar) 
    headers = {'Content-type': 'application/json', 'Accept': 'application/json'} 
    data = {} 
    data['Subject'] = subject 
    data['Start'] = start_time 
    data['End'] = end_time 
    data['Attendees'] = attendees 
    data['Body']['Content'] = content 
    data['Body']['ContentType'] = 'Text' 
    content_data = json.dumps(data) 
+0

Scheint wie 'Daten' nicht Schlüssel' Körper' haben –

Antwort

3

Sie müssen zuerst Body Schlüssel in Ihrem data doctionary haben. Sie können Ihr Problem so lösen:

data = {'Body': {}} 

data['Subject'] = subject 
data['Start'] = start_time 
data['End'] = end_time 
data['Attendees'] = attendees 
data['Body']['Content'] = content 
data['Body']['ContentType'] = 'Text' 
# ...