이벤트를 가져옵니다. 이 작업은 기존 일정의 비공개 사본을 캘린더에 추가하는 데 사용됩니다. 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의 복사를 지원하고 conferenceData의 createRequest 필드를 사용하여 새로운 회의를 생성할 수 있습니다. 기본값은 0입니다.
사용 가능한 값: 0 ~1 .
|
supportsAttachments |
boolean |
작업을 수행하는 API 클라이언트가 이벤트 첨부파일을 지원하는지 여부입니다. 선택사항입니다. 기본값은 False입니다. |
승인
이 요청을 처리하려면 다음 범위 중 하나 이상의 승인을 받아야 합니다.
범위 |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
자세한 내용은 인증 및 승인 페이지를 참고하세요.
요청 본문
요청 본문에서는 다음과 같은 속성을 사용하여 이벤트 리소스를 제공합니다.
속성 이름 | 값 | 설명 | Notes |
---|---|---|---|
필수 속성 | |||
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 시간대 데이터베이스 이름 형식(예: '유럽/취리히')이 지정됩니다.) 반복 이벤트의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
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로 설정된 별도의 항목으로 표시됩니다. 주최자를 변경하려면 move 작업을 사용하세요. 읽기 전용(일정을 가져오는 경우 제외) |
쓰기 가능 |
organizer.displayName |
string |
주최자의 이름(있는 경우) | 쓰기 가능 |
organizer.email |
string |
주최자의 이메일 주소(있는 경우) RFC5322에 따라 유효한 이메일 주소여야 합니다. | 쓰기 가능 |
originalStartTime.date |
date |
종일 일정인 경우 'yyyy-mm-dd' 형식의 날짜입니다. | 쓰기 가능 |
originalStartTime.dateTime |
datetime |
결합된 날짜-시간 값 (RFC3339에 따라 형식 지정)으로 표시된 시간입니다. timeZone 에 시간대가 명시적으로 지정되지 않은 경우 시간대 오프셋이 필요합니다. |
쓰기 가능 |
originalStartTime.timeZone |
string |
시간이 지정된 시간대입니다. (IANA 시간대 데이터베이스 이름 형식(예: '유럽/취리히')이 지정됩니다.) 반복 이벤트의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
outOfOfficeProperties |
nested object |
부재중 일정 데이터입니다. eventType 이 outOfOffice 인 경우 사용됩니다. |
쓰기 가능 |
recurrence[] |
list |
RFC5545에 명시된 대로 반복 일정의 RRULE, EXRULE, RDATE, EXDATE 행 목록입니다. 이 필드에는 DTSTART 및 DTEND 행이 허용되지 않습니다. 이벤트 시작 및 종료 시간은 start 및 end 필드에 지정됩니다. 단일 이벤트 또는 반복 이벤트의 경우 이 필드가 생략됩니다. |
쓰기 가능 |
reminders.overrides[] |
list |
이벤트가 기본 알림을 사용하지 않는 경우 일정과 관련된 알림이 나열됩니다. 설정되지 않은 경우 이 일정에 설정된 알림이 없음을 나타냅니다. 재정의 알림의 최대 개수는 5개입니다. | 쓰기 가능 |
reminders.overrides[].method |
string |
이 알림에서 사용하는 방법입니다. 가능한 값은 다음과 같습니다.
알림을 추가할 때 필요합니다. |
쓰기 가능 |
reminders.overrides[].minutes |
integer |
이벤트가 시작되기 전까지 알림이 트리거되어야 하는 시간(분)입니다. 유효한 값은 0~40,320 (분 단위로 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 시간대 데이터베이스 이름 형식(예: '유럽/취리히')이 지정됩니다.) 반복 이벤트의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
status |
string |
이벤트의 상태입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
summary |
string |
이벤트의 제목입니다. | 쓰기 가능 |
transparency |
string |
일정이 캘린더의 시간을 차단하는지 여부입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
visibility |
string |
이벤트의 공개 상태입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
응답
요청에 성공할 경우 이 메서드는 응답 본문에 이벤트 리소스를 반환합니다.
예
참고: 이 메서드에 제공되는 코드 예시가 지원되는 모든 프로그래밍 언어를 나타내는 것은 아닙니다. 지원되는 언어 목록은 클라이언트 라이브러리 페이지를 참조하세요.
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']
2,399필리핀
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
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 탐색기를 사용하여 실시간 데이터를 대상으로 이 메소드를 호출하고 응답을 확인해 보세요.