这似乎很简单,但是我似乎无法使用该库在Google日历中删除活动。
使用我的代码,注释掉“删除事件”代码并运行,该代码将插入一个事件,然后列出该事件。我还要检查以确保可以在用户界面中看到它。然后,我从创建的事件中获取ID,然后将其作为eventId“删除事件”调用中的ID 。然后,我取消注释删除代码,并注释掉插入代码,然后再次运行它。
这种方法似乎不起作用:我仍然在events().list输出中看到该事件,并且仍然在UI中看到它。
# Delete Event
resp = service.events().delete(calendarId='primary', eventId='9c9ppp94isp15103t54mtjss8s')
pprint(vars(resp))
print('Event Deleted')
# Inserts Event
GMT_OFF = '-07:00' # PDT/MST/GMT-7
EVENT = {
'summary': 'Test Event2',
'start': {'dateTime': '2018-09-15T19:00:00%s' % GMT_OFF},
'end': {'dateTime': '2018-09-15T22:00:00%s' % GMT_OFF},
}
e = service.events().insert(calendarId='primary', sendNotifications=True, body=EVENT).execute()
print('''*** %r event added:
Start: %s
End: %s''' % (e['summary'].encode('utf-8'),
e['start']['dateTime'], e['end']['dateTime']))
# Read Events
now = datetime.datetime.utcnow().isoformat() + 'Z' # 'Z' indicates UTC time
print('Getting the upcoming 10 events')
events_result = service.events().list(calendarId='primary', timeMin=now,
maxResults=10, singleEvents=True,
orderBy='startTime').execute()
events = events_result.get('items', [])
if not events:
print('No upcoming events found.')
for event in events:
start = event['start'].get('dateTime', event['start'].get('date'))
print(start, event['id'], event['summary'])
当我打印出删除响应(pprint(vars(resp)))时,它看起来像这样:
{'_in_error_state': False,
'_rand': <built-in method random of Random object at 0x7f9ac007e420>,
'_sleep': <built-in function sleep>,
'body': None,
'body_size': 0,
'headers': {'accept': '*/*',
'accept-encoding': 'gzip, deflate',
'user-agent': 'google-api-python-client/1.7.4 (gzip)'},
'http': <httplib2.Http object at 0x1051cd250>,
'method': u'DELETE',
'methodId': u'calendar.events.delete',
'postproc': <bound method RawModel.response of
<googleapiclient.model.RawModel object at 0x1052e9290>>,
如果我uri从上面的delete响应中复制并使用Postman,则该事件将被毫无问题地删除。有想法吗?
相关分类