Events: list

指定されたカレンダーのイベントを返します。 今すぐ試すまたは例を見る

リクエスト

HTTP リクエスト

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events

パラメータ

パラメータ名 説明
パスパラメータ
calendarId string カレンダーの ID。カレンダー ID を取得するには、calendarList.list メソッドを呼び出します。現在ログインしているユーザーのメイン カレンダーにアクセスするには、「primary」を使用します。できます。
省略可能なクエリ パラメータ
alwaysIncludeEmail boolean 非推奨となり、無視されます。
eventTypes string 返されるイベントタイプ。省略可。このパラメータを複数回繰り返して、異なるタイプのイベントを返すことができます。設定しない場合、すべてのイベントタイプを返します。

有効な値は次のとおりです。
  • default」: 定期的なイベント。
  • focusTime」: サイレント モードの予定。
  • fromGmail」: Gmail からの予定。
  • outOfOffice」: 不在の予定。
  • workingLocation」: 勤務場所の予定。
iCalUID string 応答で受け取る予定 ID を iCalendar 形式で指定します。省略可。iCalendar ID で予定を検索する場合に使用します。
maxAttendees integer 回答に含める参加者の最大数。参加者の数が指定した数を超える場合は、参加者のみが返されます。省略可能。
maxResults integer 1 つの結果ページで返されるイベントの最大数。クエリに一致するイベントがさらにあっても、表示されるページのイベント数はこの値より少なくなるか、ゼロになる場合があります。不完全なページは、レスポンスの空でない nextPageToken フィールドによって検出されます。デフォルトの値は 250 イベントです。ページサイズは 2,500 イベント以下にする必要があります。省略可能。
orderBy string 結果で返されるイベントの順序。省略可。デフォルトは、指定されておらず、安定した順序です。

有効な値は次のとおりです。
  • "startTime": 開始日時で並べ替え(昇順)。これは、単一のイベントをクエリする(つまり、パラメータ singleEvents が True である)場合にのみ使用できます。
  • "updated": 最終更新日時で並べ替え(昇順)。
pageToken string 返される結果ページを指定するトークン。省略可能。
privateExtendedProperty string 拡張プロパティの制約が propertyName=value として指定されています。私有地のプロパティにのみ一致します。指定したすべての制約に一致するイベントを返すために、このパラメータを複数回繰り返すことができます。
q string 自由記述形式の検索キーワードを使用すると、次のフィールドでこれらのキーワードに一致するイベントを検索できます:
  • summary
  • description
  • location
  • 参加者の displayName
  • 参加者の email
  • 主催者の displayName
  • 主催者の email
  • workingLocationProperties.officeLocation.buildingId
  • workingLocationProperties.officeLocation.deskId
  • workingLocationProperties.officeLocation.label
  • workingLocationProperties.customLocation.label

また、これらの検索語句は、事前定義されたキーワードと、勤務場所、不在、サイレント モードの予定の表示タイトルの翻訳すべてと照合されます。たとえば、「オフィス」を検索すると、または「Bureau」「不在」を検索するのに対し、officeLocation タイプの勤務場所の予定が返されますまたは「Abwesend」不在イベントが返されます。省略可。

sharedExtendedProperty string 拡張プロパティの制約が propertyName=value として指定されています。共有プロパティにのみ一致します。指定したすべての制約に一致するイベントを返すために、このパラメータを複数回繰り返すことができます。
showDeleted boolean 削除されたイベント(status は「cancelled」)を結果に含めるかどうか。showDeletedsingleEvents が両方とも False の場合、キャンセルされた定期的な予定のインスタンス(元の定期的な予定は含まれません)は、引き続き含まれます。showDeletedsingleEvents が両方とも True の場合、削除された予定の 1 つのインスタンスのみが返されます(ただし、基になる定期的な予定は返されません)。省略可。デフォルトは False です。
showHiddenInvitations boolean 非表示の招待状を結果に含めるかどうか。省略可。デフォルトは False です。
singleEvents boolean 定期的な予定をインスタンスに展開し、1 回限りの予定と定期的な予定のインスタンスのみを返すかどうかを指定します。基になる定期的な予定自体は返しません。省略可。デフォルトは False です。
syncToken string 前の list リクエストの結果の最後のページで返された nextSyncToken フィールドから取得されたトークン。これにより、このリスト リクエストの結果には、それ以降に変更されたエントリのみが含まれるようになります。前回のリスト リクエスト以降に削除されたすべてのイベントは、常に結果セットに含まれます。showDeleted を False に設定することはできません。
一部のクエリ パラメータは、クライアントの状態の整合性を確保するために nextSyncToken と同時に指定できません。

該当する項目:
  • iCalUID
  • orderBy
  • privateExtendedProperty
  • q
  • sharedExtendedProperty
  • timeMin
  • timeMax
  • updatedMin
他のすべてのクエリ パラメータは、未定義の動作を避けるために、初期同期の場合と同じにする必要があります。syncToken が期限切れになると、サーバーは 410 GONE レスポンス コードを返します。クライアントはストレージを消去して、syncToken を使用せずに完全同期を実行する必要があります。
増分同期の詳細をご覧ください。
: 省略可。デフォルトでは、すべてのエントリが返されます。
timeMax datetime フィルタに使用するイベントの開始時間の上限(この値を含まない)。省略可。デフォルトでは、開始時間によるフィルタリングは行われません。必須のタイムゾーン オフセットを含む RFC3339 タイムスタンプ(例: 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z)を指定する必要があります。ミリ秒も指定できますが無視されます。timeMin が設定されている場合、timeMaxtimeMin より大きくする必要があります。
timeMin datetime フィルタリングするイベントの終了時間の下限(この値を含まない)。省略可。デフォルトでは、終了時間でフィルタされません。必須のタイムゾーン オフセットを含む RFC3339 タイムスタンプ(例: 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z)を指定する必要があります。ミリ秒も指定できますが無視されます。timeMax が設定されている場合、timeMintimeMax より小さくする必要があります。
timeZone string レスポンスで使用されるタイムゾーン。省略可。デフォルトはカレンダーのタイムゾーンです。
updatedMin datetime フィルタリングするイベントの最終更新日時の下限(RFC3339 タイムスタンプ)。指定すると、showDeleted に関係なく、この時間以降に削除されたエントリが常に含まれるようになります。省略可。デフォルトでは、最終更新日時でフィルタされません。

承認

このリクエストは、次のスコープのうち少なくとも 1 つを使用した承認を許可します。

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

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

リクエスト本文

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

レスポンス

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

{
  "kind": "calendar#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}
プロパティ名 説明 メモ
kind string コレクションのタイプ(「calendar#events」)。
etag etag コレクションの ETag。
summary string カレンダーのタイトル。読み取り専用です。
description string カレンダーの説明。読み取り専用です。
updated datetime カレンダーの最終更新時刻(RFC3339 タイムスタンプ形式)。読み取り専用です。
timeZone string カレンダーのタイムゾーン。読み取り専用です。
accessRole string このカレンダーに対するユーザーのアクセス権限。読み取り専用。有効な値は次のとおりです。
  • none」- アクセス権がない。
  • freeBusyReader」- ユーザーは空き時間情報への読み取りアクセス権がある。
  • reader」- ユーザーにカレンダーの読み取り権限がある。限定公開の予定は閲覧者のアクセス権を持つユーザーに表示されますが、予定の詳細は非表示になります。
  • writer」- カレンダーに対する読み取りと書き込みのアクセス権がある。非公開イベントは書き込み権限を持つユーザーに表示され、イベントの詳細も表示されます。
  • owner」- ユーザーにカレンダーのオーナー権限がある。このロールには、書き込みロールのすべての権限に加えて、ACL を参照および操作できる追加の権限があります。
defaultReminders[] list カレンダー上の、認証されたユーザーのデフォルトのリマインダー。これらのリマインダーは、このカレンダーのすべての予定で、明示的にオーバーライドしていない(つまり、reminders.useDefault を True に設定していない)すべての予定に適用されます。
defaultReminders[].method string このリマインダーで使用されているメソッド。有効な値は次のとおりです。
  • email」- リマインダーはメールで送信されます。
  • popup」- UI ポップアップを介してリマインダーが送信されます。

リマインダーを追加する場合は必須です。

書き込み可能
defaultReminders[].minutes integer リマインダーをトリガーする予定が始まるまでの時間(分)。有効な値は 0 ~ 40320(4 週間(分))です。

リマインダーを追加する場合は必須です。

書き込み可能
nextPageToken string この結果の次のページにアクセスするために使用されるトークン。これ以上の結果がない場合は省略します。その場合、nextSyncToken が提供されます。
items[] list カレンダーの予定のリスト。
nextSyncToken string この結果が返された後に変更されたエントリのみを取得するために、後で使用されるトークン。さらに結果が利用可能な場合は省略します。その場合、nextPageToken が提供されます。

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

Java

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

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;
import com.google.api.services.calendar.model.Events;

// ...

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

// Iterate over the events in the specified calendar
String pageToken = null;
do {
  Events events = service.events().list('primary').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

Python

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

page_token = None
while True:
  events = service.events().list(calendarId='primary', pageToken=page_token).execute()
  for event in events['items']:
    print event['summary']
  page_token = events.get('nextPageToken')
  if not page_token:
    break

PHP

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

$events = $service->events->listEvents('primary');

while(true) {
  foreach ($events->getItems() as $event) {
    echo $event->getSummary();
  }
  $pageToken = $events->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $events = $service->events->listEvents('primary', $optParams);
  } else {
    break;
  }
}

Ruby

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

page_token = nil
begin
  result = client.list_events('primary', 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 を使用して、ライブデータに対してこのメソッドを呼び出し、レスポンスを確認してください。