通过扩展属性查询Python gdata日历API

0 投票
1 回答
603 浏览
提问于 2025-04-17 05:21

我在使用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

目前,你无法通过扩展属性来查询。

根据你对应用程序和日历的控制程度,你可以通过在描述字段中放一些额外的信息(类似标签)来解决这个问题。然后你可以查询这些信息,再通过扩展属性的匹配来过滤结果,就像你现在正在做的那样。

撰写回答