在我的 Google 日历中,我有一个名为“那是什么?没什么”的事件。如果我运行以下查询,就会正确找到该事件:
eventsResult = service.events().list(
calendarId=CALENDAR_ID,
q="Nothing.").execute()
但是,如果我尝试查找完整标题(包括单引号),则找不到:
eventsResult = service.events().list(
calendarId=CALENDAR_ID,
q="What's that? Nothing.").execute()
我很确定这不是字符串中字符错误的问题,因为我尝试从日历本身和第一个(工作)请求的结果中复制整个标题,但无济于事。我应该做任何转义或编码吗?
更新:
问题不仅限于单引号。发现名为“aa.bb.cc”的事件没有问题,“aa.b.cc”也是如此。但是,找不到“a.b.cc”。没有点也是如此;找到了“aa b cc”,但没有找到“a b cc”。好像是单字符的问题,但我还不知道它到底是什么时候发生的……
请您参考如下方法:
str = "\"What's that? Nothing\".\""
eventsResult = service.events().list(calendarId='primary', q=str).execute()
events = eventsResult.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['summary'])
请参阅“str”。这就是你想要的。这个的输出
Finding the calendar events
2015-09-16T13:30:00+03:00 "What's that? Nothing."
