google-api - 通过 Google API 获取 Google 组织中的所有日历
问题描述
目标:我正在尝试获取 Gsuite 组织中的所有日历。
问题:我知道我可以获取日历列表,CalendarList.list
但前提是用户或服务帐户在其列表中包含所有日历,即使那样它也不总是准确的,因为日历并不总是被添加到服务帐户的日历列表中并且用户可能会从他们的列表中删除日历。
问题:有没有办法只获取我的 Google 组织中的每个日历?假设我的域是@someorg.com。我想要每个用户的日历以及通过 api 创建的日历。我在想这可能通过 GSuite Admin SDK 实现,但我找不到任何可以让我这样做的东西。它只处理Resources.calendars
与对象不同的Calendar
对象。
任何帮助表示赞赏!谢谢!
解决方案
您需要使用服务帐户为每个用户获取令牌,为此您需要每个用户的电子邮件,您可以通过 Users.list 请求 [1] 获得该电子邮件。使用每个令牌,您可以为每个模拟用户执行 CalendarList.list 请求 [2],这将检索您订阅的用户日历。
如果您想要用户创建的日历,您可以过滤结果以获取accessRole
[3] 字段设置为的日历。您也可以通过将参数设置为 true [2]owner
来获取已删除的日历。showDeleted
[1] https://developers.google.com/admin-sdk/directory/v1/reference/users/list
[2] https://developers.google.com/calendar/v3/reference/calendarList/list
[3] https://developers.google.com/calendar/v3/reference/calendarList
推荐阅读
- java - 有没有办法了解 spark 如何加载类路径以及以何种顺序?
- perl - Perl:使用 Getopt::Long 从命令行和 [piped STDIN|file] 获取参数
- c# - C# 比较两个包含小写文本的 byte[] 数组
- android - Android:从 Firebase 实时数据库的主线程中同步获取数据
- python - 计算给定列的排列出现次数
- react-native - 如何将平移响应器仅移动到顶部和左侧方向
- amazon-web-services - 如果 S3 存储桶未接收数据,CloudWatch 警报
- android - 测试 Google Play Install Referrer API 或示例
- php - PHP 7.2 本机支持连接到 MSSQL
- javascript - 最好使用 Lodash 通过查找表对值进行排序