0

所以我有一个企业日历,它是组织中一位经理的默认 Google 日历。她在日历上有自己的条目,但也有许多条目似乎最初是在其他用户的日历上输入并与此默认日历共享或复制的。我正在尝试使用 Python Google Calendars API 来获取日历上所有事件的列表。不幸的是,它只列出了经理添加的事件,即使经理可以看到所有其他事件。这是我在特定日期范围内检索条目的代码:

def dateRangeQuery(calendar_service, startDate, endDate):
    query = gdata.calendar.service.CalendarEventQuery('default', 'private', 'full')
    query.start_min = startDate
    query.start_max = endDate
    feed = calendar_service.CalendarQuery(query)
    for entry in feed.entry:
        print entry.title.text

有没有办法在没有登录信息的情况下检索其他用户的条目?

抱歉,我对 Google 日历本身并不熟悉。在进一步调查中,我很确定正在发生的事情是其他用户正在保留日历并与经理共享某些事件。所以我的问题归结为:有没有办法使用 Google Calendars API 列出共享事件?

4

1 回答 1

1

您应该使用新的 Google Calendar API v3 和Google API Python Client。针对旧的、已弃用的 API 版本进行开发是没有用的。

听起来上面包含所有条目的日历是资源日历。如果是这种情况,您应该以对资源日历拥有所有权的用户身份进行身份验证,但您应该检索资源日历的条目,而不是用户的主日历:

events = service.events().list(calendarId='resource@email-address.com').execute()

while True:
  for event in events.get('items', []):
    print event['summary']
  page_token = events.get('nextPageToken')
  if page_token:
    events = service.events().list(calendarId='resource@email-address.com', pageToken=page_token).execute()
  else:
    break
于 2012-12-27T02:00:05.100 回答