Google api 通过谷歌API获取谷歌组织中的所有日历

Google api 通过谷歌API获取谷歌组织中的所有日历,google-api,calendar,google-calendar-api,google-admin-sdk,Google Api,Calendar,Google Calendar Api,Google Admin Sdk,目标:我正在尝试获取我的Gsuite组织中的所有日历 问题:我知道我可以使用CalendarList.list获取日历列表,但这只是在用户或服务帐户的列表中包含所有日历的情况下,即使这样,日历也不总是准确的,因为日历并不总是添加到列表中,用户可能会从列表中删除日历 问题:有没有办法抓取我谷歌组织中的每个日历?假设我的域名是@someorg.com。我希望每个用户的日历以及通过api创建的日历。我想这可能是GSuite Admin SDK实现的,但我还没有找到任何允许我这么做的东西。它只处理Res

目标:我正在尝试获取我的Gsuite组织中的所有日历

问题:我知道我可以使用
CalendarList.list
获取日历列表,但这只是在用户或服务帐户的列表中包含所有日历的情况下,即使这样,日历也不总是准确的,因为日历并不总是添加到列表中,用户可能会从列表中删除日历

问题:有没有办法抓取我谷歌组织中的每个日历?假设我的域名是@someorg.com。我希望每个用户的日历以及通过api创建的日历。我想这可能是GSuite Admin SDK实现的,但我还没有找到任何允许我这么做的东西。它只处理
Resources.calendars
,这与
Calendar
对象不同


感谢您的帮助!谢谢

不幸的是你不能。获取用户有权访问的日历列表的唯一方法是通过calendarlist.list方法。问题是,您必须确保所有用户的日历实际上都添加到了calendarlist中,但情况并非总是如此


您可以做的是提示用户要求他们与您共享任何其他日历,但这对服务帐户不起作用。

您需要使用服务帐户为每个用户获取一个令牌,为此,您需要每个用户的电子邮件,您可以获得该电子邮件来进行用户列表请求[1]。使用每个令牌,您可以为每个模拟用户执行CalendarList.list请求[2],该请求将检索用户订阅的日历

如果希望用户创建日历,则可以过滤结果以获取日历,并将
accessRole
[3]字段设置为
owner
。您还可以通过将
showdelected
参数设置为true[2]来获取已删除的日历

[1]

[2]


[3]

在webapps论坛中,这可能会更好。看看那边有没有类似的帖子。谢谢你的建议,但运气不好:\n另外,我正在寻找一个使用Google API而不是应用程序的解决方案。@Rodger这是一个编程问题,不是GSuite web应用程序问题。Web应用程序无法通过服务帐户帮助获取信息这实际上是一个非常好的主意:)你知道[1]是否也会返回服务帐户用户电子邮件吗?除了实际的用户日历之外,我还拥有由服务帐户创建的日历,这些日历也属于服务帐户。谢谢不,对不起,我不知道,你可以试试看。如果不是,你可以做一个解决方案,将服务帐户日历访问给一个用户,并通过该用户检索这些日历,并且可以通过它帮助你的日历字段筛选,请考虑接受@和RESDUARTARE,我看到你有3个脚注,但是没有脚注引用提到“3”。答案中应该有一个指向它吗。结果只是手动完成了这项工作。像上面提到的DalmTo一样,不可能获取所有日历,包括服务帐户创建的日历。