2014-08-29 142 views
1

我正在編寫需要與Google日曆集成的SaaS(軟件即服務)Java Web應用程序,以滿足以下要求: 1.能夠獲得多個Google Apps for Business域用戶的空閒/忙碌信息。說,我有兩個使用谷歌應用商業領域的客戶,@ abc.com和@ def.com。 2.當UserA(擁有[email protected])登錄到我的Java應用程序時,他需要從我的Java應用程序中查看他的同事的忙/閒信息(比如[email protected])。而且,他將能夠從我的Java應用程序中創建日曆事件。 3.類似地,UserC(擁有[email protected])登錄到我的Java應用程序中,他需要從我的Java應用程序中查看他的同事的忙/閒信息(比如d @ def.com)。他需要能夠在我的Java應用程序中創建日曆事件。如何訪問Google Apps for Business用戶的日曆空閒/忙碌信息?

本質上,我試圖用調度助理(獲取同事的忙/閒信息)構建與Outlook會議計劃類似的內容,並以Google日曆以SaaS方式實際創建會議邀請。

是否可以要求用戶提供他/她的Google帳戶的用戶名/密碼,以編程方式將他/她的同事的忙/閒信息和計劃事件代表他/她的日曆?或者,我必須使用Google Calendar API開發者密鑰+ OAuth嗎?

這似乎是SaaS應用程序的標準用例 - 一種允許用戶與Google Apps for Business日曆交互的Web應用程序 - 但我無法找到任何有關如何實現它的文檔。誰能幫我?

回答

1

首先,直接詢問用戶密碼並不好。總是使用Oauth2。在使用日曆API時,您還需要擁有開發人員密鑰。

關於訪問域中人員的忙/閒(或更高)信息,這些人必須設置ACL,以便與域中的每個人共享日曆(請參閱scope.type域: https://developers.google.com/google-apps/calendar/v3/reference/acl)。有些域默認具有此設置。

如果有一個獲取用戶的Oauth2標記的選項,你可能想這樣做。另一種可能性是服務帳戶和域範圍內的代表團:https://developers.google.com/drive/web/delegation

0

另一種選擇:

用戶的主日曆ID是在谷歌企業應用套件他們的電子郵件地址。此外,無論使用哪種ACL,Google Apps超級管理員都可以自動查看其域中用戶的所有日曆詳細信息。由於這個F/B信息不需要在域內共享,如果你想/需要避免這種情況。

在兩個Google Apps帳戶中使用超級管理員,您可以獲取所有用戶電子郵件地址(日曆ID),然後根據日曆ID獲取事件列表。從這裏開始,您只需在Java Web應用程序中將時間標記爲F/B即可。

相關問題