java - 如何访问 Google Apps for Business 用户的日历空闲/忙碌信息?

标签 java google-calendar-api google-apps saas

我正在编写需要与 Google 日历集成以满足以下要求的 SaaS(软件即服务)Java 网络应用程序 1.能够获取多个Google Apps for Business域用户的空闲/忙碌信息。比如说,我有两个客户使用 google apps 业务域,@abc.com 和 @def.com。 2. 当 UserA(拥有 a@abc.com)登录到我的 Java 应用程序时,他需要从我的 Java 应用程序中查看他的同事(例如,b@abc.com)的空闲/忙碌信息。而且,他将能够从我的 Java 应用程序中创建日历事件。 3. 同样,UserC(拥有 c@def.com)登录到我的 Java 应用程序,他需要从我的 Java 应用程序中查看他的同事(例如,d@def.com)的空闲/忙碌信息。而且他需要能够从我的 Java 应用程序中创建日历事件。

本质上,我正在尝试使用日程安排助手(获取同事的空闲/忙碌信息)构建类似于 Outlook session 日程安排的东西,并使用 Google 日历以 SaaS 方式实际创建 session 邀请。

是否可以要求用户提供他/她的谷歌帐户的用户名/密码,以编程方式获取他/她同事的空闲/忙碌信息并代表他/她安排事件到谷歌日历?或者,我必须使用 Google Calendar API Developer Key + OAuth 吗?

这似乎是 SaaS 应用程序的标准用例——一种允许用户与 Google Apps for Business 日历交互的网络应用程序——但我找不到任何关于如何实现它的文档。谁能帮帮我?

最佳答案

首先,直接向用户索要密码是不行的。始终改用 Oauth2。使用日历 API 时,您还需要有开发者 key 。

关于访问域中人员的忙/闲(或更高级)信息,这些人必须设置他们的 ACL,以便他们与域中的每个人共享日历(查看 scope.type 域:https://developers.google.com/google-apps/calendar/v3/reference/acl ).默认情况下,某些域具有此设置。

如果有获取用户的 Oauth2 token 的选项,您可能想要这样做。另一种可能性是服务帐户和域范围的委托(delegate):https://developers.google.com/drive/web/delegation

关于java - 如何访问 Google Apps for Business 用户的日历空闲/忙碌信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25564763/

相关文章:

java - 如何找到大量整数的中位数(它们不适合内存)

java - 在 CompletableFuture 中多次运行 Runnable

java - 文件传输陷入 do while 循环

java - 谷歌日历(共享)

google-calendar-api - Google Calendar API - 具有最大时间限制的重复事件

google-app-engine - 市场应用 + 配置 API : check if user is admin

java - 两个或多个参数的 setParameter 在 Jpa 中不起作用(Mysql 注入(inject))

javascript - Google Authentication JS API 重定向到错误的 URL

javascript - 多个 .gs 文件中的多个 onOpen() 函数

javascript - 检查电子邮件在 Google Apps 脚本中是否有效