Events: list

지정된 캘린더의 이벤트를 반환합니다. 지금 사용해 보거나 예를 참조하세요.

요청

HTTP 요청

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

매개변수

매개변수 이름 설명
경로 매개변수
calendarId string 캘린더 식별자입니다. 캘린더 ID를 검색하려면 calendarList.list 메서드를 호출합니다. 현재 로그인한 사용자의 기본 캘린더에 액세스하려면 'primary'을(를) 사용하세요. 있습니다.
선택적 쿼리 매개변수
alwaysIncludeEmail boolean 지원 중단되었으며 무시됩니다.
eventTypes string 반환할 이벤트 유형입니다. 선택사항입니다. 이 매개변수를 여러 번 반복하여 다른 유형의 이벤트를 반환할 수 있습니다. 설정하지 않으면 모든 이벤트 유형이 반환됩니다.

사용 가능한 값은 다음과 같습니다. <ph type="x-smartling-placeholder">
    </ph>
  • 'default': 일반 이벤트입니다.
  • "focusTime": 방해 금지 시간 일정입니다.
  • 'fromGmail': Gmail에 포함된 일정입니다.
  • "outOfOffice": 부재중 일정
  • 'workingLocation': 근무 위치 일정
iCalUID string 응답에 제공할 이벤트 ID를 iCalendar 형식으로 지정합니다. 선택사항입니다. iCalendar ID로 일정을 검색하려면 이 옵션을 사용합니다.
maxAttendees integer 응답에 포함할 최대 참석자 수입니다. 지정된 수보다 많은 참석자가 있으면 참가자만 반환됩니다. 선택사항입니다.
maxResults integer 하나의 결과 페이지에 반환되는 최대 이벤트 수입니다. 쿼리와 일치하는 이벤트가 더 많은 경우에도 결과 페이지의 이벤트 수가 이 값보다 적거나 아예 없을 수도 있습니다. 불완전한 페이지는 응답의 비어 있지 않은 nextPageToken 필드를 통해 감지할 수 있습니다. 기본값은 이벤트 250개입니다. 페이지 크기는 이벤트 2,500개를 초과할 수 없습니다. 선택사항입니다.
orderBy string 결과에 반환되는 이벤트의 순서입니다. 선택사항입니다. 기본값은 지정되지 않은 안정적인 순서입니다.

사용 가능한 값은 다음과 같습니다. <ph type="x-smartling-placeholder">
    </ph>
  • '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인 경우 삭제된 이벤트의 단일 인스턴스만 반환됩니다 (기본 반복 이벤트는 포함되지 않음). 선택사항입니다. 기본값은 False입니다.
showHiddenInvitations boolean 결과에 숨겨진 초대를 포함할지 여부입니다. 선택사항입니다. 기본값은 False입니다.
singleEvents boolean 반복 일정을 인스턴스로 확장하고, 일회성 일정 및 반복 일정만 반환하고 기본 반복 일정 자체는 반환하지 않습니다. 선택사항입니다. 기본값은 False입니다.
syncToken string 이전 목록 요청의 결과 마지막 페이지에서 반환된 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과 관계없이 이 시간 이후에 삭제된 항목이 항상 포함됩니다. 선택사항입니다. 기본적으로 마지막 수정 시간을 기준으로 필터링하지 않습니다.

승인

이 요청은 다음 범위 중 하나 이상을 사용한 승인을 허용합니다.

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

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