Events: instances

지정된 반복 일정의 인스턴스를 반환합니다. 지금 사용해 보기 또는 예시 보기

요청

HTTP 요청

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

매개변수

매개변수 이름 설명
경로 매개변수
calendarId string 캘린더 식별자입니다. 캘린더 ID를 가져오려면 calendarList.list 메서드를 호출합니다. 현재 로그인한 사용자의 기본 캘린더에 액세스하려면 'primary' 키워드를 사용하세요.
eventId string 반복 이벤트 식별자입니다.
선택적 쿼리 매개변수
alwaysIncludeEmail boolean 지원 중단되고 무시됩니다. 실제 이메일 주소를 사용할 수 없는 경우에도 주최자, 크리에이터, 참석자의 email 필드에 항상 값이 반환됩니다 (즉, 작동하지 않는 생성된 값이 제공됨).
maxAttendees integer 응답에 포함할 참석자 최대 수입니다. 참석자가 지정된 수보다 많으면 참석자만 반환됩니다. 선택사항입니다.
maxResults integer 하나의 결과 페이지에 반환되는 최대 이벤트 수입니다. 기본값은 250개 이벤트입니다. 페이지 크기는 2,500개 이벤트를 초과할 수 없습니다. 선택사항입니다.
originalStart string 결과에서 인스턴스의 원래 시작 시간입니다. 선택사항입니다.
pageToken string 반환할 결과 페이지를 지정하는 토큰입니다. 선택사항입니다.
showDeleted boolean 결과에 삭제된 이벤트 (status이 'cancelled'인 경우)를 포함할지 여부입니다. singleEvents가 False인 경우에도 취소된 반복 일정 인스턴스가 계속 포함됩니다. 선택사항입니다. 기본값은 False입니다.
timeMax datetime 필터링할 이벤트 시작 시간의 상한 (제외)입니다. 선택사항입니다. 기본적으로 시작 시간으로 필터링하지 않습니다. 필수 시간대 오프셋이 있는 RFC3339 타임스탬프여야 합니다.
timeMin datetime 필터링할 이벤트 종료 시간의 하한 (양 끝값 포함)입니다. 선택사항입니다. 기본적으로 종료 시간으로 필터링하지 않습니다. 필수 시간대 오프셋이 있는 RFC3339 타임스탬프여야 합니다.
timeZone string 응답에 사용된 시간대입니다. 선택사항입니다. 기본값은 캘린더의 시간대입니다.

승인

이 요청은 다음 범위 중 하나 이상으로 승인할 수 있습니다.

범위
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 클라이언트 라이브러리를 사용합니다.

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 탐색기를 사용하여 실시간 데이터를 대상으로 이 메소드를 호출하고 응답을 확인해 보세요.