Events: update

Обновляет событие. Этот метод не поддерживает семантику исправлений и всегда обновляет весь ресурс событий. Чтобы выполнить частичное обновление, выполните get , а затем update используя etags, чтобы обеспечить атомарность. Попробуйте сейчас или посмотрите пример .

Запрос

HTTP-запрос

PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId

Параметры

Имя параметра Ценить Описание
Параметры пути
calendarId string Идентификатор календаря. Чтобы получить идентификаторы календаря, вызовите метод CalendarList.list . Если вы хотите получить доступ к основному календарю вошедшего в систему пользователя, используйте ключевое слово « primary ».
eventId string Идентификатор события.
Необязательные параметры запроса
alwaysIncludeEmail boolean Устарело и игнорируется. Значение всегда будет возвращаться в поле email для организатора, создателя и участников, даже если реальный адрес электронной почты недоступен (т. е. будет предоставлено сгенерированное нерабочее значение).
conferenceDataVersion integer Номер версии данных конференции, поддерживаемых клиентом API. Версия 0 предполагает отсутствие поддержки данных конференции и игнорирует данные конференции в теле события. Версия 1 обеспечивает поддержку копирования ConferenceData, а также создание новых конференций с использованием поля createRequest в ConferenceData. Значение по умолчанию — 0. Допустимые значения — от 0 до 1 включительно.
maxAttendees integer Максимальное количество участников, которое можно включить в ответ. Если участников больше указанного количества, возвращается только участник. Необязательный.
sendNotifications boolean Устарело. Вместо этого используйте sendUpdates .

Отправлять ли уведомления об обновлении событий (например, об изменении описания и т. д.). Обратите внимание, что некоторые электронные письма все равно могут отправляться, даже если вы установите значение false . По умолчанию установлено значение false .
sendUpdates string Гости, которые должны получать уведомления об обновлении мероприятия (например, об изменении названия и т. д.).

Приемлемые значения:
  • « all »: уведомления отправляются всем гостям.
  • « externalOnly »: уведомления отправляются только гостям, не зарегистрированным в Календаре Google.
  • « none »: уведомления не отправляются. Для задач миграции календаря вместо этого рассмотрите возможность использования метода Events.import .
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 Диска используйте тот же формат, что и в свойстве alternateLink ресурса Files в Drive API.

Требуется при добавлении вложения.

записываемый
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 Статус ответа участника. Возможные значения:
  • « needsAction » — участник не ответил на приглашение (рекомендуется для новых событий).
  • « declined » — участник отклонил приглашение.
  • « tentative » — участник предварительно принял приглашение.
  • « accepted » — участник принял приглашение.
записываемый
attendeesOmitted boolean Возможно, участники были исключены из представления мероприятия. При получении события это может быть связано с ограничением, заданным параметром запроса maxAttendee . При обновлении события это можно использовать только для обновления ответа участника. Необязательный. По умолчанию установлено значение Ложь. записываемый
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, например «Европа/Цюрих».) Для повторяющихся событий это поле является обязательным и указывает часовой пояс, в котором повторяется. Для отдельных событий это поле является необязательным и указывает настраиваемый часовой пояс для начала/окончания события. записываемый
extendedProperties. private object Свойства, которые являются частными для копии мероприятия, отображаемой в этом календаре. записываемый
extendedProperties. shared object Свойства, которые являются общими для копий мероприятия в календарях других участников. записываемый
focusTimeProperties nested object Данные о событии «Время фокусировки». Используется, если eventType имеет focusTime . записываемый
gadget. display string Режим отображения гаджета. Устарело. Возможные значения:
  • « icon » — гаджет отображается рядом с названием мероприятия в представлении календаря.
  • « chip » — гаджет отображается при нажатии на событие.
записываемый
gadget. height integer Высота гаджета в пикселях. Высота должна быть целым числом больше 0. Необязательно. Устарело. записываемый
gadget. preferences object Предпочтения. записываемый
gadget. title string Название гаджета. Устарело. записываемый
gadget. type string Тип гаджета. Устарело. записываемый
gadget. width integer Ширина гаджета в пикселях. Ширина должна быть целым числом больше 0. Необязательно. Устарело. записываемый
guestsCanInviteOthers boolean Могут ли участники, кроме организатора, приглашать других на мероприятие. Необязательный. По умолчанию установлено значение «Истина». записываемый
guestsCanModify boolean Могут ли участники, кроме организатора, изменять мероприятие. Необязательный. По умолчанию установлено значение Ложь. записываемый
guestsCanSeeOtherGuests boolean Могут ли другие участники, кроме организатора, видеть участников мероприятия. Необязательный. По умолчанию установлено значение «Истина». записываемый
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 Метод, используемый в этом напоминании. Возможные значения:
  • « email » — напоминания отправляются по электронной почте.
  • « popup » — напоминания отправляются через всплывающее окно пользовательского интерфейса.

Требуется при добавлении напоминания.

записываемый
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 Статус мероприятия. Необязательный. Возможные значения:
  • « confirmed » — Событие подтверждено. Это статус по умолчанию.
  • « tentative » — Событие предварительно подтверждено.
  • « cancelled » — Событие отменено (удалено). Метод list возвращает отмененные события только при добавочной синхронизации (если указаны syncToken или updatedMin ) или если для флага showDeleted установлено значение true . Метод get всегда возвращает их.

    Статус «Отменено» представляет собой два разных состояния в зависимости от типа события:

    1. Отмененные исключения неотмененного повторяющегося события указывают на то, что этот экземпляр больше не должен быть представлен пользователю. Клиенты должны хранить эти события в течение всего времени существования родительского повторяющегося события.

      В отмененных исключениях гарантированно будут заполнены только значения полей id , recurringEventId и originalStartTime . Остальные поля могут быть пустыми.

    2. Все остальные отмененные мероприятия представляют собой удаленные мероприятия. Клиенты должны удалить свои локально синхронизированные копии. Такие отмененные мероприятия со временем исчезнут, поэтому не рассчитывайте на то, что они будут доступны бесконечно.

      У удаленных событий гарантированно будет заполнено только поле id .

    В календаре организатора отмененные мероприятия продолжают отображать подробную информацию о мероприятии (сводка, место и т. д.), чтобы их можно было восстановить (восстановить удаление). Аналогично, события, на которые пользователь был приглашен и которые он удалил вручную, продолжают предоставлять подробную информацию. Однако запросы добавочной синхронизации с showDeleted для которого установлено значение false, не вернут эти сведения.

    Если событие меняет своего организатора (например, посредством операции перемещения ), а исходного организатора нет в списке участников, после себя останется отмененное мероприятие, в котором гарантированно будет заполнено только поле id .

записываемый
summary string Название мероприятия. записываемый
transparency string Блокирует ли событие время в календаре. Необязательный. Возможные значения:
  • « opaque » — значение по умолчанию. Событие блокирует время в календаре. Это эквивалентно настройке «Показывать, что я занят» в пользовательском интерфейсе календаря.
  • « transparent » — событие не блокирует время в календаре. Это эквивалентно настройке параметра «Показать как» в пользовательском интерфейсе календаря для параметра «Доступно».
записываемый
visibility string Видимость мероприятия. Необязательный. Возможные значения:
  • « default » — использует видимость по умолчанию для событий в календаре. Это значение по умолчанию.
  • « public » — мероприятие является общедоступным, и подробности о нем видны всем читателям календаря.
  • « private » — мероприятие является частным, и только его участники могут просматривать сведения о нем.
  • « confidential » — мероприятие является частным. Это значение предоставлено из соображений совместимости.
записываемый
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 Тип рабочего места. Возможные значения:
  • « homeOffice » — Пользователь работает дома.
  • « officeLocation » — пользователь работает из офиса.
  • « customLocation » — пользователь работает из произвольного местоположения.
Любые подробности указываются в подполе указанного имени, но это поле может отсутствовать, если оно пустое. Любые другие поля игнорируются.

Требуется при добавлении свойств рабочего места.

записываемый

Ответ

В случае успеха этот метод возвращает ресурс 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 .

# 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 .

event = client.get_event('primary', 'eventId')
event.summary = 'Appointment at Somewhere'
result = client.update_event('primary', event.id, event)
print result.updated

Попробуй это!

Используйте API-интерфейс ниже, чтобы вызвать этот метод для реальных данных и просмотреть ответ.