Events: instances

指定した定期的な予定のインスタンスを返します。今すぐ試すまたは例を見る

リクエスト

HTTP リクエスト

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

パラメータ

パラメータ名 説明
パスパラメータ
calendarId string カレンダー ID。カレンダー ID を取得するには、calendarList.list メソッドを呼び出します。現在ログインしているユーザーのメイン カレンダーにアクセスするには、「primary」キーワードを使用します。
eventId string 定期的なイベントの ID。
省略可能なクエリ パラメータ
alwaysIncludeEmail boolean 非推奨となり、無視されます。実際のメールアドレスが使用できない場合でも、主催者、作成者、参加者の email フィールドには常に値が返されます(つまり、生成された動作しない値が提供されます)。
maxAttendees integer レスポンスに含める参加者の最大数。指定した人数を超える場合は、参加者のみが返されます。省略可能。
maxResults integer 1 つの結果ページで返されるイベントの最大数。デフォルトでは、この値は 250 イベントです。ページサイズは 2,500 イベントを超えることはできません。省略可能。
originalStart string 結果のインスタンスの元の開始時間。省略可能。
pageToken string 返される結果ページを指定するトークン。省略可能。
showDeleted boolean 削除済みイベント(status が「cancelled」)を結果に含めるかどうか。singleEvents が False の場合でも、定期的な予定のキャンセルされたインスタンスは引き続き含まれます。省略可。デフォルトは False です。
timeMax datetime フィルタするイベントの開始時間の上限(含まない)。省略可。デフォルトでは、開始時間でフィルタされません。タイムゾーン オフセットが必須の RFC3339 タイムスタンプである必要があります。
timeMin datetime フィルタするイベントの終了時間の下限(含む)。省略可。デフォルトでは、終了時間でフィルタされません。タイムゾーン オフセットが必須の RFC3339 タイムスタンプである必要があります。
timeZone string レスポンスで使用されるタイムゾーン。省略可。デフォルトはカレンダーのタイムゾーンです。

承認

このリクエストでは、少なくとも次のうち 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
https://www.googleapis.com/auth/calendar.app.created
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.events.owned
https://www.googleapis.com/auth/calendar.events.owned.readonly
https://www.googleapis.com/auth/calendar.events.public.readonly

詳しくは、認証と認可のページをご覧ください。

リクエストの本文

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

レスポンス

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

{
  "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 instances of a specific recurring event
String pageToken = null;
do {
  Events events =
      service.events().instances('primary', 'eventId').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().instances(calendarId='primary', eventId='eventId',
                                      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->instances('primary', "eventId");

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

Ruby

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

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