CalendarList: list

ユーザーのカレンダー リストに含まれるカレンダーを返します。 今すぐ試すまたは例を見る

リクエスト

HTTP リクエスト

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

パラメータ

パラメータ名 説明
省略可能なクエリ パラメータ
maxResults integer 1 つの結果ページで返されるエントリの最大数です。デフォルトでは、値は 100 エントリです。ページサイズは 250 エントリを超えることはできません。省略可能。
minAccessRole string 返されるエントリに含まれるユーザーに対する最小のアクセス権限。(省略可)デフォルトでは制限はありません。

有効な値は次のとおりです。
  • freeBusyReader」: ユーザーは空き時間情報を読み取ることができます。
  • owner」: ユーザーは、イベントとアクセス制御リストの読み取りと変更を行うことができます。
  • reader」: ユーザーは非公開ではないイベントを読み取ることができます。
  • writer」: ユーザーはイベントの読み取りと変更を行うことができます。
pageToken string どの結果ページを返すかを指定するトークン。省略可能。
showDeleted boolean 削除されたカレンダー リストのエントリを結果に含めるかどうか。(省略可)デフォルトは False です。
showHidden boolean 非表示のエントリを表示するかどうかを指定します。(省略可)デフォルトは False です。
syncToken string 前のリスト リクエストの結果の最後のページで返された nextSyncToken フィールドから取得したトークン。このリスト リクエストの結果には、それ以降に変更されたエントリのみが含まれます。カレンダーのプロパティや ACL などの読み取り専用フィールドのみが変更された場合、エントリは返されません。前回のリスト リクエスト以降、削除され非表示になったエントリは、常に結果セットに含まれます。showDeleted のどちらも showHidden に False に設定することはできません。
クライアントの状態の整合性を確保するため、minAccessRole クエリ パラメータを nextSyncToken と一緒に指定することはできません。
syncToken が期限切れになると、サーバーは 410 GONE レスポンス コードを返します。クライアントはストレージを消去し、syncToken を使用せずに完全な同期を実行する必要があります。
増分同期の詳細については、こちらをご覧ください。
省略可。デフォルトでは、すべてのエントリが返されます。

承認

このリクエストは、少なくとも次のうち 1 つのスコープによる承認が必要です。

範囲
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar

詳細については、認証と認可のページをご覧ください。

リクエスト本文

このメソッドをリクエストの本文に含めないでください。

レスポンス

成功すると、このメソッドは次の構造を含むレスポンスの本文を返します。

{
  "kind": "calendar#calendarList",
  "etag": etag,
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    calendarList Resource
  ]
}
プロパティ名 説明 メモ
kind string コレクションのタイプ(「calendar#calendarList」)。
etag etag コレクションの ETag。
nextPageToken string この結果の次のページへのアクセスに使用されるトークン。それ以上の結果が利用できない場合は省略されます。その場合、nextSyncToken が提供されます。
items[] list ユーザーのカレンダー リストに存在するカレンダー。
nextSyncToken string この結果が返された後に変更されたエントリのみを取得するために、後で使用されるトークン。それ以上の結果が利用可能な場合は省略されます。その場合、nextPageToken が提供されます。

注: このメソッドで使用可能なコード例では、サポートされているプログラミング言語すべての例を示しているわけではありません(サポートされている言語の一覧については、クライアント ライブラリ ページをご覧ください)。

Java

Java クライアント ライブラリを使用します。

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.CalendarList;
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();

// Iterate through entries in calendar list
String pageToken = null;
do {
  CalendarList calendarList = service.calendarList().list().setPageToken(pageToken).execute();
  List<CalendarListEntry> items = calendarList.getItems();

  for (CalendarListEntry calendarListEntry : items) {
    System.out.println(calendarListEntry.getSummary());
  }
  pageToken = calendarList.getNextPageToken();
} while (pageToken != null);

Python

Python クライアント ライブラリを使用します。

page_token = None
while True:
  calendar_list = service.calendarList().list(pageToken=page_token).execute()
  for calendar_list_entry in calendar_list['items']:
    print calendar_list_entry['summary']
  page_token = calendar_list.get('nextPageToken')
  if not page_token:
    break

PHP

PHP クライアント ライブラリを使用します。

$calendarList = $service->calendarList->listCalendarList();

while(true) {
  foreach ($calendarList->getItems() as $calendarListEntry) {
    echo $calendarListEntry->getSummary();
  }
  $pageToken = $calendarList->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $calendarList = $service->calendarList->listCalendarList($optParams);
  } else {
    break;
  }
}

Ruby

Ruby クライアント ライブラリを使用します。

page_token = nil
begin
  result = client.list_calendar_lists(page_token: page_token)
  result.items.each do |e|
    print e.summary + "\n"
  end
  if result.next_page_token != page_token
    page_token = result.next_page_token
  else
    page_token = nil
  end
end while !page_token.nil?

試してみよう:

以下の API Explorer を使用して、ライブデータに対してこのメソッドを呼び出し、レスポンスを確認してください。