요청
HTTP 요청
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
매개변수
매개변수 이름 | 값 | 설명 |
---|---|---|
경로 매개변수 | ||
calendarId |
string |
캘린더 식별자 캘린더 ID를 가져오려면 calendarList.list 메서드를 호출합니다. 현재 로그인한 사용자의 기본 캘린더에 액세스하려면 'primary ' 키워드를 사용하세요.
|
선택적 쿼리 매개변수 | ||
conferenceDataVersion |
integer |
API 클라이언트에서 지원하는 회의 데이터의 버전 번호입니다. 버전 0은 회의 데이터 지원이 없다고 가정하고 이벤트 본문의 회의 데이터를 무시합니다. 버전 1에서는 ConferenceData의 복사와 conferenceData의 createRequest 필드를 사용하여 새 회의를 만드는 기능을 지원합니다. 기본값은 0입니다.
사용 가능한 값: 0 ~1 .
|
maxAttendees |
integer |
응답에 포함할 참석자 최대 수입니다. 참석자가 지정된 수보다 많으면 참석자만 반환됩니다. 선택사항입니다. |
sendNotifications |
boolean |
지원 중단되었습니다. 대신 sendUpdates를 사용하세요. 새 이벤트 생성에 관한 알림을 전송할지 여부입니다. 값을 false 로 설정해도 일부 이메일은 계속 전송될 수 있습니다. 기본값은 false 입니다.
|
sendUpdates |
string |
새 이벤트 생성에 관한 알림을 전송할지 여부입니다. 일부 이메일은 계속 전송될 수 있습니다. 기본값은 false 입니다.
허용되는 값은 다음과 같습니다.
|
supportsAttachments |
boolean |
작업을 실행하는 API 클라이언트가 이벤트 첨부파일을 지원하는지 여부입니다. 선택사항입니다. 기본값은 False입니다. |
승인
이 요청에는 다음 범위 중 하나 이상에 대한 승인이 필요합니다.
범위 |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
자세한 내용은 인증 및 승인 페이지를 참고하세요.
요청 본문
요청 본문에서는 다음과 같은 속성을 사용하여 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 |
참석자의 응답 상태입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
birthdayProperties |
nested object |
생일 또는 특별한 날 데이터 eventType 이 "birthday" 인 경우에 사용됩니다. 변경할 수 없습니다. |
쓰기 가능 |
birthdayProperties.type |
string |
생일 또는 특별 이벤트의 유형입니다. 가능한 값은 다음과 같습니다.
"birthday" 유형의 일정 만들기만 지원합니다. 이벤트가 생성된 후에는 유형을 변경할 수 없습니다. |
쓰기 가능 |
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') 반복되는 일정의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. | 쓰기 가능 |
eventType |
string |
이벤트의 특정 유형입니다. 이벤트를 만든 후에는 수정할 수 없습니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
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입니다. | 쓰기 가능 |
id |
string |
이벤트의 불투명 식별자입니다. 새 단일 또는 반복 이벤트를 만들 때 ID를 지정할 수 있습니다. 제공된 ID는 다음 규칙을 따라야 합니다.
ID를 지정하지 않으면 서버에서 자동으로 생성합니다.
|
쓰기 가능 |
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 |
반복 일정의 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 |
이벤트의 공개 상태입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
|
쓰기 가능 |
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 클라이언트 라이브러리를 사용합니다.
// Refer to the Java quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/java // Change the scope to CalendarScopes.CALENDAR and delete any stored // credentials. Event event = new Event() .setSummary("Google I/O 2015") .setLocation("800 Howard St., San Francisco, CA 94103") .setDescription("A chance to hear more about Google's developer products."); DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00"); EventDateTime start = new EventDateTime() .setDateTime(startDateTime) .setTimeZone("America/Los_Angeles"); event.setStart(start); DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00"); EventDateTime end = new EventDateTime() .setDateTime(endDateTime) .setTimeZone("America/Los_Angeles"); event.setEnd(end); String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"}; event.setRecurrence(Arrays.asList(recurrence)); EventAttendee[] attendees = new EventAttendee[] { new EventAttendee().setEmail("lpage@example.com"), new EventAttendee().setEmail("sbrin@example.com"), }; event.setAttendees(Arrays.asList(attendees)); EventReminder[] reminderOverrides = new EventReminder[] { new EventReminder().setMethod("email").setMinutes(24 * 60), new EventReminder().setMethod("popup").setMinutes(10), }; Event.Reminders reminders = new Event.Reminders() .setUseDefault(false) .setOverrides(Arrays.asList(reminderOverrides)); event.setReminders(reminders); String calendarId = "primary"; event = service.events().insert(calendarId, event).execute(); System.out.printf("Event created: %s\n", event.getHtmlLink());
Python
Python 클라이언트 라이브러리를 사용합니다.
# Refer to the Python quickstart on how to setup the environment: # https://developers.google.com/calendar/quickstart/python # Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any # stored credentials. event = { 'summary': 'Google I/O 2015', 'location': '800 Howard St., San Francisco, CA 94103', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2015-05-28T09:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'end': { 'dateTime': '2015-05-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'recurrence': [ 'RRULE:FREQ=DAILY;COUNT=2' ], 'attendees': [ {'email': 'lpage@example.com'}, {'email': 'sbrin@example.com'}, ], 'reminders': { 'useDefault': False, 'overrides': [ {'method': 'email', 'minutes': 24 * 60}, {'method': 'popup', 'minutes': 10}, ], }, } event = service.events().insert(calendarId='primary', body=event).execute() print 'Event created: %s' % (event.get('htmlLink'))
PHP
PHP 클라이언트 라이브러리를 사용합니다.
// Refer to the PHP quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/php // Change the scope to Google_Service_Calendar::CALENDAR and delete any stored // credentials. $event = new Google_Service_Calendar_Event(array( 'summary' => 'Google I/O 2015', 'location' => '800 Howard St., San Francisco, CA 94103', 'description' => 'A chance to hear more about Google\'s developer products.', 'start' => array( 'dateTime' => '2015-05-28T09:00:00-07:00', 'timeZone' => 'America/Los_Angeles', ), 'end' => array( 'dateTime' => '2015-05-28T17:00:00-07:00', 'timeZone' => 'America/Los_Angeles', ), 'recurrence' => array( 'RRULE:FREQ=DAILY;COUNT=2' ), 'attendees' => array( array('email' => 'lpage@example.com'), array('email' => 'sbrin@example.com'), ), 'reminders' => array( 'useDefault' => FALSE, 'overrides' => array( array('method' => 'email', 'minutes' => 24 * 60), array('method' => 'popup', 'minutes' => 10), ), ), )); $calendarId = 'primary'; $event = $service->events->insert($calendarId, $event); printf('Event created: %s\n', $event->htmlLink);
Ruby
Ruby 클라이언트 라이브러리를 사용합니다.
event = Google::Apis::CalendarV3::Event.new( summary: 'Google I/O 2015', location: '800 Howard St., San Francisco, CA 94103', description: 'A chance to hear more about Google\'s developer products.', start: Google::Apis::CalendarV3::EventDateTime.new( date_time: '2015-05-28T09:00:00-07:00', time_zone: 'America/Los_Angeles' ), end: Google::Apis::CalendarV3::EventDateTime.new( date_time: '2015-05-28T17:00:00-07:00', time_zone: 'America/Los_Angeles' ), recurrence: [ 'RRULE:FREQ=DAILY;COUNT=2' ], attendees: [ Google::Apis::CalendarV3::EventAttendee.new( email: 'lpage@example.com' ), Google::Apis::CalendarV3::EventAttendee.new( email: 'sbrin@example.com' ) ], reminders: Google::Apis::CalendarV3::Event::Reminders.new( use_default: false, overrides: [ Google::Apis::CalendarV3::EventReminder.new( reminder_method: 'email', minutes: 24 * 60 ), Google::Apis::CalendarV3::EventReminder.new( reminder_method: 'popup', minutes: 10 ) ] ) ) result = client.insert_event('primary', event) puts "Event created: #{result.html_link}"
.NET
.NET 클라이언트 라이브러리를 사용합니다.
// Refer to the .NET quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/dotnet // Change the scope to CalendarService.Scope.Calendar and delete any stored // credentials. Event newEvent = new Event() { Summary = "Google I/O 2015", Location = "800 Howard St., San Francisco, CA 94103", Description = "A chance to hear more about Google's developer products.", Start = new EventDateTime() { DateTime = DateTime.Parse("2015-05-28T09:00:00-07:00"), TimeZone = "America/Los_Angeles", }, End = new EventDateTime() { DateTime = DateTime.Parse("2015-05-28T17:00:00-07:00"), TimeZone = "America/Los_Angeles", }, Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" }, Attendees = new EventAttendee[] { new EventAttendee() { Email = "lpage@example.com" }, new EventAttendee() { Email = "sbrin@example.com" }, }, Reminders = new Event.RemindersData() { UseDefault = false, Overrides = new EventReminder[] { new EventReminder() { Method = "email", Minutes = 24 * 60 }, new EventReminder() { Method = "sms", Minutes = 10 }, } } }; String calendarId = "primary"; EventsResource.InsertRequest request = service.Events.Insert(newEvent, calendarId); Event createdEvent = request.Execute(); Console.WriteLine("Event created: {0}", createdEvent.HtmlLink);
Go
Go 클라이언트 라이브러리를 사용합니다.
// Refer to the Go quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/go // Change the scope to calendar.CalendarScope and delete any stored credentials. event := &calendar.Event{ Summary: "Google I/O 2015", Location: "800 Howard St., San Francisco, CA 94103", Description: "A chance to hear more about Google's developer products.", Start: &calendar.EventDateTime{ DateTime: "2015-05-28T09:00:00-07:00", TimeZone: "America/Los_Angeles", }, End: &calendar.EventDateTime{ DateTime: "2015-05-28T17:00:00-07:00", TimeZone: "America/Los_Angeles", }, Recurrence: []string{"RRULE:FREQ=DAILY;COUNT=2"}, Attendees: []*calendar.EventAttendee{ &calendar.EventAttendee{Email:"lpage@example.com"}, &calendar.EventAttendee{Email:"sbrin@example.com"}, }, } calendarId := "primary" event, err = srv.Events.Insert(calendarId, event).Do() if err != nil { log.Fatalf("Unable to create event. %v\n", err) } fmt.Printf("Event created: %s\n", event.HtmlLink)
자바스크립트
JavaScript 클라이언트 라이브러리를 사용합니다.
// Refer to the JavaScript quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/js // Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any // stored credentials. var event = { 'summary': 'Google I/O 2015', 'location': '800 Howard St., San Francisco, CA 94103', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2015-05-28T09:00:00-07:00', 'timeZone': 'America/Los_Angeles' }, 'end': { 'dateTime': '2015-05-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles' }, 'recurrence': [ 'RRULE:FREQ=DAILY;COUNT=2' ], 'attendees': [ {'email': 'lpage@example.com'}, {'email': 'sbrin@example.com'} ], 'reminders': { 'useDefault': false, 'overrides': [ {'method': 'email', 'minutes': 24 * 60}, {'method': 'popup', 'minutes': 10} ] } }; var request = gapi.client.calendar.events.insert({ 'calendarId': 'primary', 'resource': event }); request.execute(function(event) { appendPre('Event created: ' + event.htmlLink); });
Node.js
Node.js 클라이언트 라이브러리를 사용합니다.
// Refer to the Node.js quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/node // Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any // stored credentials. var event = { 'summary': 'Google I/O 2015', 'location': '800 Howard St., San Francisco, CA 94103', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2015-05-28T09:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'end': { 'dateTime': '2015-05-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'recurrence': [ 'RRULE:FREQ=DAILY;COUNT=2' ], 'attendees': [ {'email': 'lpage@example.com'}, {'email': 'sbrin@example.com'}, ], 'reminders': { 'useDefault': false, 'overrides': [ {'method': 'email', 'minutes': 24 * 60}, {'method': 'popup', 'minutes': 10}, ], }, }; calendar.events.insert({ auth: auth, calendarId: 'primary', resource: event, }, function(err, event) { if (err) { console.log('There was an error contacting the Calendar service: ' + err); return; } console.log('Event created: %s', event.htmlLink); });
사용해 보기
아래의 API 탐색기를 사용하여 실시간 데이터를 대상으로 이 메소드를 호출하고 응답을 확인해 보세요.