일정을 업데이트합니다. 이 메서드는 패치 시맨틱스를 지원하지 않으며 항상 전체 이벤트 리소스를 업데이트합니다. 부분 업데이트를 수행하려면 get
다음에 etag를 사용하여 update
를 실행하여 원자성을 보장합니다.
지금 사용해 보기 또는 예시 보기
요청
HTTP 요청
PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
매개변수
매개변수 이름 | 값 | 설명 |
---|---|---|
경로 매개변수 | ||
calendarId |
string |
캘린더 식별자입니다. 캘린더 ID를 가져오려면 calendarList.list 메서드를 호출합니다. 현재 로그인한 사용자의 기본 캘린더에 액세스하려면 'primary ' 키워드를 사용하세요.
|
eventId |
string |
이벤트 식별자입니다. |
선택적 쿼리 매개변수 | ||
alwaysIncludeEmail |
boolean |
지원 중단되고 무시됩니다. 실제 이메일 주소를 사용할 수 없는 경우에도 주최자, 크리에이터, 참석자의 email 필드에 항상 값이 반환됩니다 (즉, 작동하지 않는 생성된 값이 제공됨).
|
conferenceDataVersion |
integer |
API 클라이언트에서 지원하는 회의 데이터의 버전 번호입니다. 버전 0은 회의 데이터 지원이 없다고 가정하고 이벤트 본문의 회의 데이터를 무시합니다. 버전 1에서는 ConferenceData의 복사와 conferenceData의 createRequest 필드를 사용하여 새 회의를 만드는 기능을 지원합니다. 기본값은 0입니다.
사용 가능한 값: 0 ~1 .
|
maxAttendees |
integer |
응답에 포함할 참석자 최대 수입니다. 참석자가 지정된 수보다 많으면 참석자만 반환됩니다. 선택사항입니다. |
sendNotifications |
boolean |
지원 중단되었습니다. 대신 sendUpdates를 사용하세요. 이벤트 업데이트 (예: 설명 변경사항 등)에 관한 알림을 전송할지 여부입니다. 값을 false 로 설정해도 일부 이메일은 계속 전송될 수 있습니다. 기본값은 false 입니다.
|
sendUpdates |
string |
이벤트 업데이트 (예: 제목 변경 등)에 관한 알림을 받아야 하는 참석자입니다.
허용되는 값은 다음과 같습니다.
|
supportsAttachments |
boolean |
작업을 실행하는 API 클라이언트가 이벤트 첨부파일을 지원하는지 여부입니다. 선택사항입니다. 기본값은 False입니다. |
승인
이 요청에는 다음 범위 중 하나 이상에 대한 승인이 필요합니다.
범위 |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
https://www.googleapis.com/auth/calendar.app.created |
https://www.googleapis.com/auth/calendar.events.owned |
자세한 내용은 인증 및 승인 페이지를 참고하세요.
요청 본문
요청 본문에서는 다음과 같은 속성을 사용하여 Events 리소스를 제공합니다.
속성 이름 | 값 | 설명 | 참고 |
---|---|---|---|
필수 속성 | |||
end |
nested object |
이벤트의 종료 시간 (제외)입니다. 반복 이벤트의 경우 첫 번째 인스턴스의 종료 시간입니다. | |
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 |
이벤트의 지리적 위치(자유 형식 텍스트)입니다. 선택사항입니다. | 쓰기 가능 |
originalStartTime.date |
date |
종일 일정인 경우 'yyyy-mm-dd' 형식의 날짜입니다. | 쓰기 가능 |
originalStartTime.dateTime |
datetime |
결합된 날짜-시간 값으로 표시된 시간입니다 (RFC3339 형식). timeZone 에 시간대가 명시적으로 지정되어 있지 않은 한 시간대 오프셋이 필요합니다. |
쓰기 가능 |
originalStartTime.timeZone |
string |
시간이 지정된 시간대입니다. IANA 시간대 데이터베이스 이름 형식(예: 'Europe/Zurich') 반복되는 일정의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
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~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 |
이벤트의 공개 상태입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
workingLocationProperties |
nested object |
작업 위치 이벤트 데이터 | 쓰기 가능 |
workingLocationProperties.customLocation |
object |
이 속성이 있으면 사용자가 맞춤 위치에서 작업 중임을 나타냅니다. | 쓰기 가능 |
workingLocationProperties.customLocation.label |
string |
추가 정보용 추가 라벨(선택사항)입니다. | 쓰기 가능 |
workingLocationProperties.homeOffice |
any value |
이 속성이 있는 경우 사용자가 재택근무 중임을 나타냅니다. | 쓰기 가능 |
workingLocationProperties.officeLocation |
object |
이 속성이 있는 경우 사용자가 사무실에서 작업 중임을 나타냅니다. | 쓰기 가능 |
workingLocationProperties.officeLocation.buildingId |
string |
선택사항인 건물 식별자입니다. 이는 조직의 리소스 데이터베이스에 있는 건물 ID를 참조해야 합니다. | 쓰기 가능 |
workingLocationProperties.officeLocation.deskId |
string |
선택적 데스크 식별자입니다. | 쓰기 가능 |
workingLocationProperties.officeLocation.floorId |
string |
선택적 층 식별자입니다. | 쓰기 가능 |
workingLocationProperties.officeLocation.floorSectionId |
string |
선택사항인 층 섹션 식별자입니다. | 쓰기 가능 |
workingLocationProperties.officeLocation.label |
string |
Calendar 웹 및 모바일 클라이언트에 표시되는 사무실 이름입니다. 조직의 리소스 데이터베이스에서 건물 이름을 참조하는 것이 좋습니다. | 쓰기 가능 |
workingLocationProperties.type |
string |
근무 위치 유형입니다. 가능한 값은 다음과 같습니다.
근무 위치 속성을 추가할 때 필요합니다. |
쓰기 가능 |
응답
이 메서드는 성공하면 응답 본문에 Events 리소스를 반환합니다.
예
참고: 이 메서드에 제공되는 코드 예시가 지원되는 모든 프로그래밍 언어를 나타내는 것은 아닙니다. 지원되는 언어 목록은 클라이언트 라이브러리 페이지를 참조하세요.
자바
Java 클라이언트 라이브러리를 사용합니다.
import com.google.api.services.calendar.Calendar; import com.google.api.services.calendar.model.Event; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Retrieve the event from the API Event event = service.events().get("primary", "eventId").execute(); // Make a change event.setSummary("Appointment at Somewhere"); // Update the event Event updatedEvent = service.events().update("primary", event.getId(), event).execute(); System.out.println(updatedEvent.getUpdated());
Python
Python 클라이언트 라이브러리를 사용합니다.
# First retrieve the event from the API. event = service.events().get(calendarId='primary', eventId='eventId').execute() event['summary'] = 'Appointment at Somewhere' updated_event = service.events().update(calendarId='primary', eventId=event['id'], body=event).execute() # Print the updated date. print updated_event['updated']
PHP
PHP 클라이언트 라이브러리를 사용합니다.
// First retrieve the event from the API. $event = $service->events->get('primary', 'eventId'); $event->setSummary('Appointment at Somewhere'); $updatedEvent = $service->events->update('primary', $event->getId(), $event); // Print the updated date. echo $updatedEvent->getUpdated();
Ruby
Ruby 클라이언트 라이브러리를 사용합니다.
event = client.get_event('primary', 'eventId') event.summary = 'Appointment at Somewhere' result = client.update_event('primary', event.id, event) print result.updated
사용해 보기
아래의 API 탐색기를 사용하여 실시간 데이터를 대상으로 이 메소드를 호출하고 응답을 확인해 보세요.