일정을 가져옵니다. 이 작업은 기존 일정의 비공개 사본을 캘린더에 추가하는 데 사용됩니다. 지금 사용해 보거나 예를 참조하세요.
요청
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 |
자세한 내용은 인증 및 승인 페이지를 참고하세요.
요청 본문
요청 본문에서는 다음과 같은 속성을 사용하여 이벤트 리소스를 제공합니다.
속성 이름 | 값 | 설명 | 메모 |
---|---|---|---|
필수 속성 | |||
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 |
다른 참석자의 캘린더에서 일정 사본 간에 공유되는 속성입니다. | 쓰기 가능 |
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 |
이벤트 주최자입니다. 주최자도 참석자인 경우 organizer 에 True로 설정된 attendees 의 개별 항목이 표시됩니다. 주최자를 변경하려면 이동 작업을 사용하세요. 읽기 전용입니다(일정 가져오기 제외). |
쓰기 가능 |
organizer.displayName |
string |
주최자의 이름입니다(있는 경우). | 쓰기 가능 |
organizer.email |
string |
주최자의 이메일 주소입니다(있는 경우). RFC5322에 따라 유효한 이메일 주소여야 합니다. | 쓰기 가능 |
originalStartTime.date |
date |
종일 일정인 경우 'yyyy-mm-dd' 형식의 날짜입니다. | 쓰기 가능 |
originalStartTime.dateTime |
datetime |
날짜/시간을 종합한 값으로, RFC3339에 따라 형식이 지정된 시간입니다. timeZone 에 시간대를 명시적으로 지정하지 않은 경우 시간대 오프셋이 필요합니다. |
쓰기 가능 |
originalStartTime.timeZone |
string |
시간이 지정된 시간대입니다. IANA 시간대 데이터베이스 이름 형식(예: '유럽/취리히')입니다. 반복 일정의 경우 이 입력란은 필수이며 반복 항목이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
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 |
이벤트의 공개 상태입니다. 선택사항. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
응답
요청에 성공할 경우 이 메서드는 응답 본문에 Events 리소스를 반환합니다.
예
참고: 이 메서드에 제공되는 코드 예시가 지원되는 모든 프로그래밍 언어를 나타내는 것은 아닙니다. 지원되는 언어 목록은 클라이언트 라이브러리 페이지를 참조하세요.
자바
자바 클라이언트 라이브러리를 사용합니다.
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
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 탐색기를 사용하여 실시간 데이터를 대상으로 이 메소드를 호출하고 응답을 확인해 보세요.