猿问

使用Google的Python客户端库删除日历事件

这似乎很简单,但是我似乎无法使用该库在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,则该事件将被毫无问题地删除。有想法吗?


喵喵时光机
浏览 135回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答