0

在我們的組織中,我們使用「Google Apps for Work」,並且需要定期導出所有員工的日曆數據,以便在會議上花費自己的時間花費。Google Apps for Work - 日曆API - 閱讀所有組織員工日曆

你能暗示我是否有可能嗎? 現在,the official solution I found要求每個用戶通過OAuth登錄並授予我的應用程序訪問其日曆的權限,更重要的是,授予的憑據將在某個時間點到期。

但是,我需要達到相同的結果,但作爲「後端服務」管理員權限沒有用戶登錄和應用程序審批,是否有可能? 或谷歌日曆被認爲是私人的東西,即使是「Google Apps for Work」,每個用戶都需要單獨授予權限?

預先感謝您! Regards

回答

1

但是,我需要達到相同的結果,但作爲「後端服務」管理員權限沒有用戶登錄和應用程序審批,這有可能嗎?

您要找的是service accounts。通過服務帳戶,您可以代表域中的用戶訪問數據,有時也稱爲「委託全域權限」。幸運的是,您可以將其用於Google Apps for Work。

如果你有一個谷歌Apps域 - 如果你使用谷歌Apps for Work的,對於 例如,一個在谷歌Apps域的管理員可以授權一個 應用程序來訪問代表用戶在谷歌Apps的用戶數據 域。例如,使用谷歌日曆API 應用程序事件添加到谷歌的Apps域 所有用戶的日曆將使用服務帳戶來訪問 代表用戶

這裏的谷歌日曆API使用Python時using a P12 file一個片段:

from oauth2client.service_account import ServiceAccountCredentials 

client_email = '[email protected]' 
scopes = ['https://www.googleapis.com/auth/sqlservice.admin'] 

credentials = ServiceAccountCredentials.from_p12_keyfile(
client_email, '/path/to/keyfile.p12', scopes=scopes) 

Retrieving all calendar resources

要檢索與特定日曆相關聯的資源項的第一頁,將以正斜槓結尾的HTTP GET請求發送到資源供稿網址。按照身份驗證中所述包含授權標頭。

GET https://apps-apis.google.com/a/feeds/calendar/resource/2.0/{domain name}/ 

(可選)您可以將start參數中的空字符串的HTTP GET請求發送到資源供稿網址。

GET https://apps-apis.google.com/a/feeds/calendar/resource/2.0/{domain name}/?start="" 
+0

謝謝!非常幫助! – Briksins