2017-02-09 25 views
13

我嘗試使用不需要提醒的服務帳戶爲組織中的用戶創建活動。比如像公衆假期等...如何在沒有提醒/通知的情況下在其他用戶的Google日曆上創建活動

我添加到提醒對象覆蓋默認的事件:

EventReminder[] reminderOverrides = new EventReminder[] {}; 
Event.Reminders reminders = new Event.Reminders() 
    .setUseDefault(false) 
    .setOverrides(Arrays.asList(reminderOverrides)); 
event.setReminders(reminders) 

單元測試和功能測試顯示沒有連接提示,當我從一個服務帳戶查詢。

但是,當我用用戶憑據登錄時,默認提醒仍然可見。

爲了讓人們在公衆假期的早晨不受打擾,我需要採取哪些不同的措施?

+0

嘗試使用Calendar API的['Events:insert'](https://developers.google.com/google-apps/calendar/v3/reference/events/insert)方法插入或創建事件爲其他用戶。此方法有一個參數['sendNotifications'](https://developers.google.com/google-apps/calendar/v3/reference/events/insert#sendNotifications),它表示是否發送有關創建新事件的通知。您可以將此參數設置爲** false **,以便用戶不會通知此事件。 – KENdi

+0

@KENdi我確實將sendNotifications設置爲false,並且這似乎工作正常,但是我需要在事件之前刪除提醒,並且這些我無法刪除。 –

回答

7

使用服務帳戶時,您應該注意模擬用戶而不使用管理員帳戶。當管理員帳戶創建事件時,將從用戶日曆設置中獲取默認設置。但是當你模仿用戶時,你可以關閉通知。

從REST API文件:

有可能與GoogleCredential工廠setServiceAccountUser方法指定的用戶帳戶的電子郵件地址。

相關問題