gcsa - Google 日历 API 的 Pythonic 包装器

gcsa - Pythonic wrapper for Google Calendar API

这是我的第一个post,我对python很陌生,如果我的questions/etiquette不够完善,请提前见谅。这可能是一个非常微不足道的问题。

事情是这样的:我正在尝试开发一个应用程序,它将通过 Google 日历 API 定期检查日历以查找新事件,然后生成一个包含日历 ID 和事件 ID。

因为我是 python 的新手,所以我搜索了一些可能会让事情变得更顺利的东西,并找到了 gcsa: https://github.com/kuzmoyev/google-calendar-simple-api,非常好用和方便。

我遇到的问题是使用 gcsa,在日历中列出事件的默认方式 returns 只有事件时间和名称:

from gcsa.google_calendar import GoogleCalendar

calendar = GoogleCalendar('primary')
for event in calendar:
    print(event)

给我 2021-02-16 10:30:00-03:00 - TEST

作为新手,我一辈子都无法找到一种方法来 return 来自事件资源的其他数据,例如 'id'(我需要)和'status'(我将用作 new/old 事件的标志)。

据我所知,有必要稍微调整一下代码,可能在 google_calendar.py 中,也可能在 event_serialyzer.py 中。可能是一些我应该已经注意到的非常小的愚蠢的东西。

我什至无法准确指出 GoogleCalendar() 在哪里执行以及它从哪里获取显示的数据,但我猜可能是 google_calendar.py 中的第 321 行或第 376 行?打败我了。

已经为这个问题大惊小怪了两天,但没有运气,请问有人对此有任何见解吗?

我知道有一些方法可以直接在 python 中请求事件对象,如 https://developers.google.com/calendar/v3/reference/events/list#python 中所示,这将是我的下一个选择。

如果结果太尴尬或不值得麻烦,我将不使用 gcsa 并以通常的方式提出请求。

非常感谢大家!

您假设 gcsa 仅 returns 事件的时间和名称是错误的。使用 print 检查自定义对象的效率不是很高。您将看到的只是对象的 字符串表示形式 (由其 __str__ 方法指示)。

您应该使用实际的调试器检查对象,或者至少使用 vars(obj)dir(obj) 打印可用属性,或者当然是查看实际的 class .

在这种情况下,如果您查看 actual class,您会发现它包含的不仅仅是开始日期和姓名。它还具有(除其他属性外)event_id.