似乎已經有similar question了,但我需要一個解決方案(請繼續閱讀)以當前用戶身份進行身份驗證。獲取所有同事的日曆清單
我在嘗試製作一個簡單的Google Apps腳本應用程序,使用Google日曆檢查您的同事(在Google Apps for Work域中)是否當前正在開會。
該腳本將作爲當前用戶執行。爲此,我需要能夠獲取當前用戶(不僅是他們訂閱的用戶)可用的所有日曆的列表,這些列表可以在標準日曆Web應用的下拉列表中找到:
的CalendarApp.getAllCalendars()得到所有日曆用戶擁有或訂閱,這不是我所需要。我希望在我的Google Apps for Work網域(例如與整個公司共享)中向我提供可用的完整列表,即使我沒有訂閱它們。
CalendarList REST API可用於Apps腳本通過Advanced Calendar Service具有相同的限制。
頁Calendar for Work Features還提到域範圍內的授權委派:
訪問域的日曆作爲一個應用程序
應用程序可以訪問域擁有日曆,無需用戶 憑據,如果認證通過一個服務帳戶。服務 帳戶必須具有使用全域範圍授權 代表團的必要訪問權限。
這可能會得到我所需要的,但我不希望我的腳本以管理員權限運行,我希望它以當前訪問它的用戶身份進行身份驗證。
有沒有辦法?
但我怎麼得到我沒有訂閱的所有日曆列表? 'calendar'變量來自你的代碼片段? –
@DmitryPashkevich這是不可能的,如果你想獲得域中所有日曆的列表,你可以嘗試獲取你所有用戶的列表(作爲管理函數getUsers())var users = AdminDirectory.Users。 list({domain:「domain.ext」,fields:「users/primaryEmail」}); Logger.log(users); }郵政編碼中的「calendar」var是用戶的電子郵件地址 – Harold
請參閱我的問題是:「我不希望我的腳本以管理員權限運行,我希望它以當前訪問它的用戶身份進行身份驗證。」 –