이벤트를 가져옵니다. 이 작업은 기존 일정의 비공개 사본을 캘린더에 추가하는 데 사용됩니다. eventType
가 default
인 이벤트만 가져올 수 있습니다.
지원 중단된 동작: default
이외의 이벤트를 가져오면 유형이 default
로 변경되고, 있을 수 있는 모든 이벤트 유형별 속성이 삭제됩니다.
요청
HTTP 요청
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import
매개변수
매개변수 이름 | 값 | 설명 |
---|---|---|
경로 매개변수 | ||
calendarId |
string |
캘린더 식별자입니다. 캘린더 ID를 검색하려면 calendarList.list 메서드를 호출합니다. 현재 로그인한 사용자의 기본 캘린더에 액세스하려면 'primary '을(를) 사용하세요. 있습니다.
|
선택적 쿼리 매개변수 | ||
conferenceDataVersion |
integer |
API 클라이언트에서 지원하는 회의 데이터의 버전 번호입니다. 버전 0은 회의 데이터를 지원하지 않는다고 가정하고 이벤트 본문의 회의 데이터를 무시합니다. 버전 1을 사용하면 ConferenceData의 복사는 물론ComputeData의 createRequest 필드를 사용한 새 회의 생성이 지원됩니다. 기본값은 0입니다.
사용 가능한 값: 0 ~1 .
|
supportsAttachments |
boolean |
작업을 수행하는 API 클라이언트가 이벤트 첨부파일을 지원하는지 여부입니다. 선택사항입니다. 기본값은 False입니다. |
승인
이 요청을 처리하려면 다음 범위 중 하나 이상의 승인이 필요합니다.
범위 |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
자세한 내용은 인증 및 승인 페이지를 참조하세요.
요청 본문
요청 본문에 다음 속성이 지정된 Events 리소스를 제공합니다.
속성 이름 | 값 | 설명 | 참고 |
---|---|---|---|
필수 속성 | |||
end |
nested object |
이벤트의 (제외) 종료 시간입니다. 반복 일정의 경우 첫 번째 일정의 종료 시간입니다. | |
iCalUID |
string |
RFC5545에 정의된 이벤트 고유 식별자입니다. 캘린더 시스템에서 이벤트를 고유하게 식별하는 데 사용되며 import 메서드를 통해 이벤트를 가져올 때 제공해야 합니다.
|
|
start |
nested object |
이벤트 시작 시간 (해당 시간 포함)입니다. 반복 일정의 경우 첫 번째 일정의 시작 시간입니다. | |
선택적 속성 | |||
anyoneCanAddSelf |
boolean |
누구나 이벤트에 자신을 초대할 수 있는지 여부 (지원 중단됨) 선택사항입니다. 기본값은 False입니다. | 쓰기 가능 |
attachments[].fileUrl |
string |
첨부파일의 URL 링크입니다. Google Drive 첨부파일을 추가하려면 Drive API에서 첨부파일을 추가할 때 필요합니다. |
쓰기 가능 |
attendees[] |
list |
이벤트 참석자입니다. 다른 캘린더 사용자와 일정을 예약하는 방법에 대한 자세한 내용은 참석자가 있는 일정 가이드를 참조하세요. 서비스 계정에서 참석자 목록을 채우려면 도메인 전체 권한 위임을 사용해야 합니다. | 쓰기 가능 |
attendees[].additionalGuests |
integer |
추가 투숙객 수입니다. 선택사항입니다. 기본값은 0입니다. | 쓰기 가능 |
attendees[].comment |
string |
참석자의 응답 댓글입니다. 선택사항입니다. | 쓰기 가능 |
attendees[].displayName |
string |
참석자 이름입니다(해당하는 경우). 선택사항입니다. | 쓰기 가능 |
attendees[].email |
string |
참석자의 이메일 주소(제공되는 경우) 참석자를 추가할 때 이 입력란이 있어야 합니다. RFC5322에 따라 유효한 이메일 주소여야 합니다. 참석자를 추가할 때 필요합니다. |
쓰기 가능 |
attendees[].optional |
boolean |
선택 참석자인지 여부입니다. 선택사항입니다. 기본값은 False입니다. | 쓰기 가능 |
attendees[].resource |
boolean |
참석자가 리소스인지 여부입니다. 참석자가 처음으로 일정에 추가된 경우에만 설정할 수 있습니다. 이후의 수정은 무시됩니다. 선택사항입니다. 기본값은 False입니다. | 쓰기 가능 |
attendees[].responseStatus |
string |
참석자의 응답 상태입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
attendeesOmitted |
boolean |
참석자가 이벤트의 표현에서 생략되었을 수 있는지 여부입니다. 이벤트를 가져올 때 이는 maxAttendee 쿼리 매개변수에서 지정한 제한 때문일 수 있습니다. 이벤트를 업데이트할 때 참여자의 응답을 업데이트하는 데만 사용할 수 있습니다. 선택사항입니다. 기본값은 False입니다. |
쓰기 가능 |
colorId |
string |
이벤트의 색상입니다. 색상 정의의 event 섹션에 있는 항목을 참조하는 ID입니다 ( 색상 엔드포인트 참고). 선택사항입니다. |
쓰기 가능 |
conferenceData |
nested object |
Google Meet 회의 세부정보와 같은 회의 관련 정보입니다. 새 회의 세부정보를 만들려면 createRequest 필드를 사용하세요. 변경사항을 유지하려면 모든 이벤트 수정 요청에서 conferenceDataVersion 요청 매개변수를 1 로 설정해야 합니다. |
쓰기 가능 |
description |
string |
이벤트에 관한 설명입니다. HTML을 포함할 수 있습니다. 선택사항입니다. | 쓰기 가능 |
end.date |
date |
종일 일정인 경우 'yyyy-mm-dd' 형식의 날짜입니다. | 쓰기 가능 |
end.dateTime |
datetime |
날짜 및 시간을 결합된 값으로 표현한 시간입니다 (RFC3339에 따른 형식). timeZone 에 시간대가 명시적으로 지정되지 않은 한 시간대 오프셋이 필요합니다. |
쓰기 가능 |
end.timeZone |
string |
시간이 지정된 시간대입니다. (IANA 시간대 데이터베이스 이름 형식으로 지정됩니다(예: 'Europe/Zurich'). 반복 이벤트의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료를 위한 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
extendedProperties.private |
object |
이 캘린더에 표시되는 일정의 사본에 대한 비공개 속성입니다. | 쓰기 가능 |
extendedProperties.shared |
object |
다른 참석자의 일정 사본 간에 공유되는 속성 있습니다. | 쓰기 가능 |
focusTimeProperties |
nested object |
방해 금지 시간 이벤트 데이터 eventType 이 focusTime 인 경우에 사용됩니다. |
쓰기 가능 |
gadget.display |
string |
가젯의 표시 모드입니다. 지원 중단되었습니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
gadget.height |
integer |
픽셀 단위의 가젯 높이입니다. 높이는 0보다 큰 정수여야 합니다. 선택사항입니다. 지원 중단되었습니다. | 쓰기 가능 |
gadget.iconLink |
string |
가젯의 아이콘 URL입니다. URL 스키마는 HTTPS여야 합니다. 지원 중단되었습니다. | 쓰기 가능 |
gadget.link |
string |
가젯의 URL입니다. URL 스키마는 HTTPS여야 합니다. 지원 중단되었습니다. | 쓰기 가능 |
gadget.preferences |
object |
환경설정을 클릭합니다. | 쓰기 가능 |
gadget.title |
string |
가젯의 제목입니다. 지원 중단되었습니다. | 쓰기 가능 |
gadget.type |
string |
가젯의 유형입니다. 지원 중단되었습니다. | 쓰기 가능 |
gadget.width |
integer |
가젯의 너비(픽셀)입니다. 너비는 0보다 큰 정수여야 합니다. 선택사항입니다. 지원 중단되었습니다. | 쓰기 가능 |
guestsCanInviteOthers |
boolean |
주최자가 아닌 참석자가 일정에 다른 사용자를 초대할 수 있는지 여부입니다. 선택사항입니다. 기본값은 True입니다. | 쓰기 가능 |
guestsCanModify |
boolean |
주최자가 아닌 참석자가 일정을 수정할 수 있는지 여부입니다. 선택사항입니다. 기본값은 False입니다. | 쓰기 가능 |
guestsCanSeeOtherGuests |
boolean |
주최자가 아닌 참석자가 일정 참석자를 볼 수 있는지 여부입니다. 선택사항입니다. 기본값은 True입니다. | 쓰기 가능 |
location |
string |
자유 형식 텍스트로 표시된 이벤트의 지리적 위치입니다. 선택사항입니다. | 쓰기 가능 |
organizer |
object |
일정 주최자입니다. 주최자도 참석자인 경우 attendees 에 organizer 필드가 True로 설정된 별도의 항목이 표시됩니다. 주최자를 변경하려면 이동 작업을 사용하세요. 읽기 전용(이벤트를 가져올 때 제외) |
쓰기 가능 |
organizer.displayName |
string |
주최자 이름(해당하는 경우) | 쓰기 가능 |
organizer.email |
string |
주최자의 이메일 주소(제공되는 경우) RFC5322에 따라 유효한 이메일 주소여야 합니다. | 쓰기 가능 |
originalStartTime.date |
date |
종일 일정인 경우 'yyyy-mm-dd' 형식의 날짜입니다. | 쓰기 가능 |
originalStartTime.dateTime |
datetime |
날짜 및 시간을 결합된 값으로 표현한 시간입니다 (RFC3339에 따른 형식). timeZone 에 시간대가 명시적으로 지정되지 않은 한 시간대 오프셋이 필요합니다. |
쓰기 가능 |
originalStartTime.timeZone |
string |
시간이 지정된 시간대입니다. (IANA 시간대 데이터베이스 이름 형식으로 지정됩니다(예: 'Europe/Zurich'). 반복 이벤트의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료를 위한 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
outOfOfficeProperties |
nested object |
부재중 이벤트 데이터입니다. eventType 이 outOfOffice 인 경우에 사용됩니다. |
쓰기 가능 |
recurrence[] |
list |
반복 일정의 RRULE, EXRULE, RDATE, EXDATE 행 목록(RFC5545에 지정됨) DTSTART 및 DTEND 행은 이 입력란에 사용할 수 없습니다. 이벤트 시작 및 종료 시간은 start 및 end 필드에 지정됩니다. 단일 일정 또는 반복 일정의 경우 이 입력란이 생략됩니다. |
쓰기 가능 |
reminders.overrides[] |
list |
일정이 기본 알림을 사용하지 않는 경우 일정과 관련된 알림이 표시되거나, 설정되지 않은 경우 이 일정에 대해 설정된 알림이 없음을 나타냅니다. 재정의 알림은 5개까지만 허용됩니다. | 쓰기 가능 |
reminders.overrides[].method |
string |
이 알림에서 사용하는 방법입니다. 가능한 값은 다음과 같습니다.
알림을 추가할 때 필요합니다. |
쓰기 가능 |
reminders.overrides[].minutes |
integer |
일정이 시작되기 전까지 알림이 트리거되어야 하는 시간(분)입니다. 유효한 값은 0에서 40320 (분 기준 4주) 사이입니다. 알림을 추가할 때 필요합니다. |
쓰기 가능 |
reminders.useDefault |
boolean |
캘린더의 기본 알림이 일정에 적용되는지 여부입니다. | 쓰기 가능 |
sequence |
integer |
iCalendar에 따른 순서 번호입니다. | 쓰기 가능 |
source.title |
string |
소스 제목 예: 웹페이지 제목 또는 이메일 제목 | 쓰기 가능 |
source.url |
string |
리소스를 가리키는 소스의 URL입니다. URL 스키마는 HTTP 또는 HTTPS여야 합니다. | 쓰기 가능 |
start.date |
date |
종일 일정인 경우 'yyyy-mm-dd' 형식의 날짜입니다. | 쓰기 가능 |
start.dateTime |
datetime |
날짜 및 시간을 결합된 값으로 표현한 시간입니다 (RFC3339에 따른 형식). timeZone 에 시간대가 명시적으로 지정되지 않은 한 시간대 오프셋이 필요합니다. |
쓰기 가능 |
start.timeZone |
string |
시간이 지정된 시간대입니다. (IANA 시간대 데이터베이스 이름 형식으로 지정됩니다(예: 'Europe/Zurich'). 반복 이벤트의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료를 위한 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
status |
string |
이벤트의 상태입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
summary |
string |
이벤트의 제목입니다. | 쓰기 가능 |
transparency |
string |
이벤트가 캘린더의 시간을 차단하는지 여부입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
visibility |
string |
이벤트의 공개 상태입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
응답
요청에 성공할 경우 이 메서드는 응답 본문에 Events 리소스를 반환합니다.
예
참고: 이 메서드에 제공되는 코드 예시가 지원되는 모든 프로그래밍 언어를 나타내는 것은 아닙니다. 지원되는 언어 목록은 클라이언트 라이브러리 페이지를 참조하세요.
자바
Java 클라이언트 라이브러리를 사용합니다.
import com.google.api.services.calendar.Calendar; import com.google.api.services.calendar.model.Event; import com.google.api.services.calendar.model.EventAttendee; import com.google.api.services.calendar.model.EventDateTime; import com.google.api.client.util.DateTime; import java.util.Date; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Create and initialize a new event (could also retrieve an existing event) Event event = new Event(); event.setICalUID("originalUID"); Event.Organizer organizer = new Event.Organizer(); organizer.setEmail("organizerEmail"); organizer.setDisplayName("organizerDisplayName"); event.setOrganizer(organizer); ArrayList<EventAttendee> attendees = new ArrayList<EventAttendee>(); attendees.add(new EventAttendee().setEmail("attendeeEmail")); // ... event.setAttendees(attendees); Date startDate = new Date(); Date endDate = new Date(startDate.getTime() + 3600000); DateTime start = new DateTime(startDate, TimeZone.getTimeZone("UTC")); event.setStart(new EventDateTime().setDateTime(start)); DateTime end = new DateTime(endDate, TimeZone.getTimeZone("UTC")); event.setEnd(new EventDateTime().setDateTime(end)); // Import the event into a calendar Event importedEvent = service.events().calendarImport('primary', event).execute(); System.out.println(importedEvent.getId());
Python
Python 클라이언트 라이브러리를 사용합니다.
event = { 'summary': 'Appointment', 'location': 'Somewhere', 'organizer': { 'email': 'organizerEmail', 'displayName': 'organizerDisplayName' }, 'start': { 'dateTime': '2011-06-03T10:00:00.000-07:00' }, 'end': { 'dateTime': '2011-06-03T10:25:00.000-07:00' }, 'attendees': [ { 'email': 'attendeeEmail', 'displayName': 'attendeeDisplayName', }, # ... ], 'iCalUID': 'originalUID' } imported_event = service.events().import_(calendarId='primary', body=event).execute() print imported_event['id']
PHP
PHP 클라이언트 라이브러리를 사용합니다.
$event = new Google_Service_Calendar_Event(); $event->setSummary('Appointment'); $event->setLocation('Somewhere'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime('2011-06-03T10:00:00.000-07:00'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime('2011-06-03T10:25:00.000-07:00'); $event->setEnd($end); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail('attendeeEmail'); // ... $attendees = array($attendee1, // ..., ); $event->attendees = $attendees; $organizer = new Google_Service_Calendar_EventOrganizer(); $organizer->setEmail('organizerEmail'); $organizer->setDisplayName('organizerDisplayName'); $event->setOrganizer($organizer); $event->setICalUID('originalUID'); $importedEvent = $service->events->import('primary', $event); echo $importedEvent->getId();
Ruby
event = Google::Apis::CalendarV3::Event.new( summary: 'Appointment', location: 'Somewhere', organizer: { email: 'organizerEmail', display_name: 'organizerDisplayName' }, start: { date_time: '2011-06-03T10:00:00.000-07:00' }, end: { date_time: '2011-06-03T10:25:00.000-07:00' }, attendees: [ { email: 'attendeeEmail', display_name: 'attendeeDisplayName', }, # ... ], i_cal_uid: 'originalUID' ) result = client.import_event('primary', event) print result.id
사용해 보기
아래의 API 탐색기를 사용하여 실시간 데이터를 대상으로 이 메소드를 호출하고 응답을 확인해 보세요.