Создает событие. Попробуйте сейчас или посмотрите пример .
Запрос
HTTP-запрос
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
Параметры
Имя параметра | Ценить | Описание |
---|---|---|
Параметры пути | ||
calendarId | string | Идентификатор календаря. Чтобы получить идентификаторы календаря, вызовите метод CalendarList.list . Если вы хотите получить доступ к основному календарю вошедшего в систему пользователя, используйте ключевое слово « primary ». |
Необязательные параметры запроса | ||
conferenceDataVersion | integer | Номер версии данных конференции, поддерживаемых клиентом API. Версия 0 предполагает отсутствие поддержки данных конференции и игнорирует данные конференции в теле события. Версия 1 обеспечивает поддержку копирования ConferenceData, а также создание новых конференций с использованием поля createRequest в ConferenceData. Значение по умолчанию — 0. Допустимые значения — от 0 до 1 включительно. |
maxAttendees | integer | Максимальное количество участников, которое можно включить в ответ. Если участников больше указанного количества, возвращается только участник. Необязательный. |
sendNotifications | boolean | Устарело. Вместо этого используйте sendUpdates . Отправлять ли уведомления о создании нового события. Обратите внимание, что некоторые электронные письма все равно могут отправляться, даже если вы установите значение false . По умолчанию установлено значение false . |
sendUpdates | string | Отправлять ли уведомления о создании нового события. Обратите внимание, что некоторые электронные письма все равно могут быть отправлены. По умолчанию установлено значение false .Приемлемые значения:
|
supportsAttachments | boolean | Поддерживает ли клиент API, выполняющий операцию, вложения событий. Необязательный. По умолчанию установлено значение Ложь. |
Авторизация
Для этого запроса требуется авторизация хотя бы в одной из следующих областей:
Объем |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
Дополнительную информацию см. на странице аутентификации и авторизации .
Тело запроса
В теле запроса укажите ресурс Events со следующими свойствами:
Имя свойства | Ценить | Описание | Примечания |
---|---|---|---|
Обязательные свойства | |||
end | nested object | (эксклюзивное) время окончания события. Для повторяющегося события это время окончания первого экземпляра. | |
start | nested object | (включительно) время начала события. Для повторяющегося события это время начала первого экземпляра. | |
Дополнительные свойства | |||
anyoneCanAddSelf | boolean | Может ли кто-либо пригласить себя на мероприятие (устарело). Необязательный. По умолчанию установлено значение Ложь. | записываемый |
attachments[]. fileUrl | string | URL-ссылка на вложение. Для добавления вложений файлов Google Диска используйте тот же формат, что и в свойстве Требуется при добавлении вложения. | записываемый |
attendees[] | list | Участники мероприятия. Дополнительную информацию о планировании мероприятий с другими пользователями календаря см. в руководстве «Мероприятия с участниками» . Учетным записям служб необходимо использовать делегирование полномочий на уровне домена для заполнения списка участников. | записываемый |
attendees[]. additionalGuests | integer | Количество дополнительных гостей. Необязательный. Значение по умолчанию — 0. | записываемый |
attendees[]. comment | string | Ответный комментарий участника. Необязательный. | записываемый |
attendees[]. displayName | string | Имя участника, если имеется. Необязательный. | записываемый |
attendees[]. email | string | Адрес электронной почты участника, если имеется. Это поле должно присутствовать при добавлении участника. Это должен быть действительный адрес электронной почты согласно RFC5322 . Требуется при добавлении участника. | записываемый |
attendees[]. optional | boolean | Является ли это необязательным участником. Необязательный. По умолчанию установлено значение Ложь. | записываемый |
attendees[]. resource | boolean | Является ли участник ресурсом. Можно задать только тогда, когда участник добавляется к событию впервые. Последующие изменения игнорируются. Необязательный. По умолчанию установлено значение Ложь. | записываемый |
attendees[]. responseStatus | string | Статус ответа участника. Возможные значения:
| записываемый |
colorId | string | Цвет мероприятия. Это идентификатор, ссылающийся на запись в разделе event определения цветов (см. конечную точку цветов ). Необязательный. | записываемый |
conferenceData | nested object | Информация, связанная с конференцией, например сведения о конференции Google Meet. Для создания новых сведений о конференции используйте поле createRequest . Чтобы сохранить изменения, не забудьте установить для параметра запроса conferenceDataVersion значение 1 для всех запросов на изменение событий. | записываемый |
description | string | Описание события. Может содержать HTML. Необязательный. | записываемый |
end. date | date | Дата в формате «гггг-мм-дд», если это событие длится целый день. | записываемый |
end. dateTime | datetime | Время в виде объединенного значения даты и времени (отформатированное в соответствии с RFC3339 ). Смещение часового пояса требуется, если только часовой пояс не указан явно в timeZone . | записываемый |
end. timeZone | string | Часовой пояс, в котором указано время. (В формате имени базы данных часовых поясов IANA, например «Европа/Цюрих».) Для повторяющихся событий это поле является обязательным и указывает часовой пояс, в котором повторяется. Для отдельных событий это поле является необязательным и указывает настраиваемый часовой пояс для начала/окончания события. | записываемый |
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 | Могут ли участники, кроме организатора, приглашать других на мероприятие. Необязательный. По умолчанию установлено значение «Истина». | записываемый |
guestsCanModify | boolean | Могут ли участники, кроме организатора, изменять мероприятие. Необязательный. По умолчанию установлено значение Ложь. | записываемый |
guestsCanSeeOtherGuests | boolean | Могут ли другие участники, кроме организатора, видеть участников мероприятия. Необязательный. По умолчанию установлено значение «Истина». | записываемый |
id | string | Непрозрачный идентификатор события. При создании новых одиночных или повторяющихся событий вы можете указать их идентификаторы. Предоставляемые идентификаторы должны соответствовать следующим правилам:
Если вы не укажете идентификатор, он будет автоматически сгенерирован сервером. Обратите внимание, что | записываемый |
location | string | Географическое местоположение мероприятия в виде текста в произвольной форме. Необязательный. | записываемый |
originalStartTime. date | date | Дата в формате «гггг-мм-дд», если это событие длится целый день. | записываемый |
originalStartTime. dateTime | datetime | Время в виде объединенного значения даты и времени (отформатированное в соответствии с RFC3339 ). Смещение часового пояса требуется, если только часовой пояс не указан явно в timeZone . | записываемый |
originalStartTime. timeZone | string | Часовой пояс, в котором указано время. (В формате имени базы данных часовых поясов IANA, например «Европа/Цюрих».) Для повторяющихся событий это поле является обязательным и указывает часовой пояс, в котором повторяется. Для отдельных событий это поле является необязательным и указывает настраиваемый часовой пояс для начала/окончания события. | записываемый |
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 | Дата в формате «гггг-мм-дд», если это событие длится целый день. | записываемый |
start. dateTime | datetime | Время в виде объединенного значения даты и времени (отформатированное в соответствии с RFC3339 ). Смещение часового пояса требуется, если только часовой пояс не указан явно в timeZone . | записываемый |
start. timeZone | string | Часовой пояс, в котором указано время. (В формате имени базы данных часовых поясов IANA, например «Европа/Цюрих».) Для повторяющихся событий это поле является обязательным и указывает часовой пояс, в котором повторяется. Для отдельных событий это поле является необязательным и указывает настраиваемый часовой пояс для начала/окончания события. | записываемый |
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 | Необязательный идентификатор здания. Это должно ссылаться на идентификатор здания в базе данных ресурсов организации. | записываемый |
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 .
# 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 .
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 .
// 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 .
// 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
Использует клиентскую библиотеку 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-интерфейс ниже, чтобы вызвать этот метод для реальных данных и просмотреть ответ.