CalendarList: update

更新使用者日曆清單中的現有日曆。立即試用參閱範例

要求

HTTP 要求

PUT https://www.googleapis.com/calendar/v3/users/me/calendarList/calendarId

參數

參數名稱 說明
路徑參數
calendarId string 日曆 ID。如要擷取日曆 ID,請呼叫 calendarList.list 方法。如果您想存取目前登入使用者的主日曆,請使用「primary」關鍵字。
選用查詢參數
colorRgbFormat boolean 是否使用 foregroundColorbackgroundColor 欄位寫入日曆顏色 (RGB)。如果使用這項功能,系統會自動將以索引為準的 colorId 欄位設為最相符的選項。選用設定。預設值為 False。

授權

這項要求需要至少具備下列其中一個範圍的授權:

範圍
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.app.created
https://www.googleapis.com/auth/calendar.calendarlist

詳情請參閱「驗證與授權」頁面。

要求主體

在要求主體中,請提供具有下列屬性的 CalendarList 資源

屬性名稱 說明 附註
選用屬性
backgroundColor string 日曆的主要顏色,以十六進位格式「#0088aa」表示。這個屬性取代了以索引為基礎的 colorId 屬性。如要設定或變更這個屬性,您必須在 insertupdatepatch 方法的參數中指定 colorRgbFormat=true。選填。 可寫入
colorId string 日曆的顏色。這個 ID 是指顏色定義的 calendar 部分中的項目 (請參閱「顏色端點」)。這項屬性已由 backgroundColorforegroundColor 屬性取代,因此在使用這些屬性時,可以忽略這項屬性。選填。 可寫入
defaultReminders[] list 已驗證使用者針對這個日曆設定的預設提醒事項。 可寫入
defaultReminders[].method string 提醒事項使用的提醒方法。可能的值包括:
  • email」- 系統會透過電子郵件傳送提醒。
  • popup」- 透過 UI 彈出式視窗傳送提醒。

新增提醒時必填。

可寫入
defaultReminders[].minutes integer 活動開始前幾分鐘,系統應觸發提醒的時間點。有效值介於 0 到 40320 (4 週以分鐘為單位) 之間。

新增提醒時必填。

可寫入
foregroundColor string 日曆的前景色彩,以十六進位格式「#ffffff」表示。這個屬性取代了以索引為基礎的 colorId 屬性。如要設定或變更這個屬性,您必須在 insertupdatepatch 方法的參數中指定 colorRgbFormat=true。選填。 可寫入
hidden boolean 是否已從清單中隱藏日曆。選用設定。只有在日曆隱藏時才會傳回這項屬性,且值為 true 可寫入
notificationSettings object 已驗證使用者收到的這個日曆通知。 可寫入
notificationSettings.notifications[].method string 用於傳送通知的方式。可能的值如下:
  • email」:系統會透過電子郵件傳送通知。

新增通知時必須提供。

可寫入
notificationSettings.notifications[].type string 通知類型,可能的值包括:
  • eventCreation」:在日曆中新增活動時傳送的通知。
  • eventChange」:事件變更時傳送的通知。
  • eventCancellation」:活動取消時傳送的通知。
  • eventResponse」:出席者回覆活動邀請時傳送的通知。
  • agenda」:包含當天活動的議程 (上午發送)。

新增通知時必須提供。

可寫入
selected boolean 日曆內容是否會顯示在日曆 UI 中。選用設定。預設值為 False。 可寫入
summaryOverride string 已驗證使用者為這個日曆設定的摘要。選填。 可寫入

回應

如果成功,這個方法會在回應內文中傳回 CalendarList 資源

範例

注意:這個方法適用的程式語言眾多,我們只在此提供部分程式碼範例,完整的支援語言清單請參閱用戶端程式庫頁面

Java

使用 Java 用戶端程式庫

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.CalendarListEntry;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Retrieve the calendar list entry
CalendarListEntry calendarListEntry = service.calendarList().get("calendarId").execute();

// Make a change
calendarListEntry.setColorId("newColorId");

// Update the altered entry
CalendarListEntry updatedCalendarListEntry =
    service.calendarList().update(calendarListEntry.getId(), calendarListEntry).execute();

System.out.println(updatedCalendarListEntry.getEtag());

Python

使用 Python 用戶端程式庫

# First retrieve the calendarListEntry from the API.
calendar_list_entry = service.calendarList().get(calendarId='calendarId').execute()
calendar_list_entry['colorId'] = 'newColorId'

updated_calendar_list_entry = service.calendarList().update(
    calendarId=calendar_list_entry['id'], body=calendar_list_entry).execute()

print created_calendar_list_entry['etag']

PHP

使用 PHP 用戶端程式庫

// First retrieve the calendarListEntry from the API.
$calendarListEntry = $service->calendarList->get('calendarId');
$calendarListEntry->setColorId('newColorId');

$updatedCalendarListEntry = service->calendarList->update($calendarListEntry->getId(), $calendarListEntry);

echo $updatedCalendarListEntry->getEtag();

小茹

使用 Ruby 用戶端程式庫

calendar_list_entry = client.get_calendar_list('calendarId')
calendar_list_entry.colorId = 'newColorId'
result = client.update_calendar_list(calendar_list_entry.id, calendar_list_entry)
print result.etag

試試看!

您可以使用下方的 API Explorer,針對即時資料呼叫這個方法,然後查看回應。