通过扩展属性查询Python gdata日历API
我在使用Python的GData日历API时,想知道有没有办法搜索或查询带有特定扩展属性的事件。
比如,我的程序正在创建日历事件,并设置一个扩展属性ProgramID='xxxxx'。在之后的某个时间,我想找到所有扩展属性为ProgramID=='xxxx'的事件。
目前,我是通过进行一次普通查询,然后逐个检查每个事件的扩展属性来实现这个目标。这种方法非常耗时和占用CPU,所以我想加快这个过程。
query = gdata.calendar.client.CalendarEventQuery()
feed = gcal.GetCalendarEventFeed(q=query)
for i, calEvent in enumerate(feed.entry):
calEventProperties = calEvent.extended_property
mikkiEvent = False
mikkiEventKey = ''
for eventProperty in calEventProperties:
if eventProperty.name == SETTINGS['CALID']:
mikkiEvent = True
if eventProperty.name == str(SETTINGS['CALID'] + 'EventKey'):
mikkiEventKey = eventProperty.value
我在API文档中找不到关于如何将扩展属性查询添加到查询中的说明。
1 个回答
0
目前,你无法通过扩展属性来查询。
根据你对应用程序和日历的控制程度,你可以通过在描述字段中放一些额外的信息(类似标签)来解决这个问题。然后你可以查询这些信息,再通过扩展属性的匹配来过滤结果,就像你现在正在做的那样。