【问题标题】:How to access Google Apps for Business users' calendar free/busy information?如何访问 Google Apps for Business 用户的日历忙/闲信息?
【发布时间】:2014-08-29 08:47:37
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    首先,直接向用户询问密码是不行的。始终使用 Oauth2。使用日历 API 时,您还需要有一个开发者密钥。

    关于访问域中的人的忙/闲(或更高)信息,这些人必须设置他们的 ACL,以便他们与域中的每个人共享日历(在此处查看 scope.type 域:@ 987654321@)。某些域默认有此设置。

    如果可以选择获取用户的 Oauth2 令牌,您可能希望这样做。另一种可能性是服务帐户和域范围的委派:https://developers.google.com/drive/web/delegation

    【讨论】:

      【解决方案2】:

      另一种选择:

      用户的主要日历 ID 是他们在 Google Apps 中的电子邮件地址。此外,无论 ACL 是什么,Google Apps 超级管理员都可以自动查看其域内用户的所有日历详细信息。因此,如果您想/需要避免这种情况,则无需在域内共享 F/B 信息。

      在两个 Google Apps 帐户上使用超级管理员,您可以获取所有用户电子邮件地址(日历 ID),然后根据日历 ID 获取事件列表。从这里开始,您只需在 Java Web 应用程序中将时间标记为 F/B。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-02
        • 2023-03-09
        • 1970-01-01
        • 2011-04-29
        • 1970-01-01
        • 2012-01-06
        • 2010-12-02
        • 1970-01-01
        相关资源
        最近更新 更多