일정을 업데이트합니다. 이 메서드는 패치 시맨틱스를 지원하지 않으며 항상 전체 이벤트 리소스를 업데이트합니다. 부분 업데이트를 수행하려면 etag를 사용하여 get
뒤에 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 |
자세한 내용은 인증 및 승인 페이지를 참고하세요.
요청 본문
요청 본문에서는 다음과 같은 속성을 사용하여 이벤트 리소스를 제공합니다.
숙소 이름 | 가치 | 설명 | 메모 |
---|---|---|---|
필수 속성 | |||
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 시간대 데이터베이스 이름 형식(예: '유럽/취리히')입니다. 반복 일정의 경우 이 입력란은 필수이며 반복 항목이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
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 |
자유 형식의 텍스트로 표시된 이벤트의 지리적 위치입니다. 선택사항. | 쓰기 가능 |
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; // ... // 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']
2,399필리핀
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 탐색기를 사용하여 실시간 데이터를 대상으로 이 메소드를 호출하고 응답을 확인해 보세요.