Импортирует событие. Эта операция используется для добавления частной копии существующего события в календарь. Импортировать можно только события с eventType
по default
.
Устаревшее поведение: если импортируется событие, не являющееся default
, его тип будет изменен на default
, а все свойства, специфичные для типа события, которые оно может иметь, будут удалены.
Запрос
HTTP-запрос
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import
Параметры
Имя параметра | Ценить | Описание |
---|---|---|
Параметры пути | ||
calendarId | string | Идентификатор календаря. Чтобы получить идентификаторы календаря, вызовите метод CalendarList.list . Если вы хотите получить доступ к основному календарю вошедшего в систему пользователя, используйте ключевое слово « primary ». |
Необязательные параметры запроса | ||
conferenceDataVersion | integer | Номер версии данных конференции, поддерживаемых клиентом API. Версия 0 предполагает отсутствие поддержки данных конференции и игнорирует данные конференции в теле события. Версия 1 обеспечивает поддержку копирования ConferenceData, а также создание новых конференций с использованием поля createRequest в ConferenceData. Значение по умолчанию — 0. Допустимые значения — от 0 до 1 включительно. |
supportsAttachments | boolean | Поддерживает ли клиент API, выполняющий операцию, вложения событий. Необязательный. По умолчанию установлено значение Ложь. |
Авторизация
Для этого запроса требуется авторизация хотя бы в одной из следующих областей:
Объем |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
Дополнительную информацию см. на странице аутентификации и авторизации .
Тело запроса
В теле запроса укажите ресурс Events со следующими свойствами:
Имя свойства | Ценить | Описание | Примечания |
---|---|---|---|
Обязательные свойства | |||
end | nested object | (эксклюзивное) время окончания события. Для повторяющегося события это время окончания первого экземпляра. | |
iCalUID | string | Уникальный идентификатор события, определенный в RFC5545 . Он используется для уникальной идентификации событий в системах календаря и должен быть указан при импорте событий с помощью метода импорта . Обратите внимание, что | |
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 | Статус ответа участника. Возможные значения:
| записываемый |
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 | Режим отображения гаджета. Устарело. Возможные значения:
| записываемый |
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 | Могут ли другие участники, кроме организатора, видеть участников мероприятия. Необязательный. По умолчанию установлено значение «Истина». | записываемый |
location | string | Географическое местоположение мероприятия в виде текста в произвольной форме. Необязательный. | записываемый |
organizer | object | Организатор мероприятия. Если организатор также является участником, это обозначается отдельной записью в attendees , при этом в поле organizer установлено значение True. Чтобы сменить организатора, используйте операцию перемещения . Только для чтения, кроме случаев импорта события. | записываемый |
organizer. displayName | string | Имя организатора, если имеется. | записываемый |
organizer. email | string | Адрес электронной почты организатора, если имеется. Это должен быть действительный адрес электронной почты согласно RFC5322 . | записываемый |
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 | Видимость мероприятия. Необязательный. Возможные значения:
| записываемый |
Ответ
В случае успеха этот метод возвращает ресурс Events в теле ответа.
Примеры
Примечание. Примеры кода, доступные для этого метода, не представляют все поддерживаемые языки программирования (список поддерживаемых языков см. на странице клиентских библиотек ).
Ява
Использует клиентскую библиотеку Java .
import com.google.api.services.calendar.Calendar; import com.google.api.services.calendar.model.Event; import com.google.api.services.calendar.model.EventAttendee; import com.google.api.services.calendar.model.EventDateTime; import com.google.api.client.util.DateTime; import java.util.Date; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Create and initialize a new event (could also retrieve an existing event) Event event = new Event(); event.setICalUID("originalUID"); Event.Organizer organizer = new Event.Organizer(); organizer.setEmail("organizerEmail"); organizer.setDisplayName("organizerDisplayName"); event.setOrganizer(organizer); ArrayList<EventAttendee> attendees = new ArrayList<EventAttendee>(); attendees.add(new EventAttendee().setEmail("attendeeEmail")); // ... event.setAttendees(attendees); Date startDate = new Date(); Date endDate = new Date(startDate.getTime() + 3600000); DateTime start = new DateTime(startDate, TimeZone.getTimeZone("UTC")); event.setStart(new EventDateTime().setDateTime(start)); DateTime end = new DateTime(endDate, TimeZone.getTimeZone("UTC")); event.setEnd(new EventDateTime().setDateTime(end)); // Import the event into a calendar Event importedEvent = service.events().calendarImport('primary', event).execute(); System.out.println(importedEvent.getId());
Питон
Использует клиентскую библиотеку Python .
event = { 'summary': 'Appointment', 'location': 'Somewhere', 'organizer': { 'email': 'organizerEmail', 'displayName': 'organizerDisplayName' }, 'start': { 'dateTime': '2011-06-03T10:00:00.000-07:00' }, 'end': { 'dateTime': '2011-06-03T10:25:00.000-07:00' }, 'attendees': [ { 'email': 'attendeeEmail', 'displayName': 'attendeeDisplayName', }, # ... ], 'iCalUID': 'originalUID' } imported_event = service.events().import_(calendarId='primary', body=event).execute() print imported_event['id']
PHP
Использует клиентскую библиотеку PHP .
$event = new Google_Service_Calendar_Event(); $event->setSummary('Appointment'); $event->setLocation('Somewhere'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime('2011-06-03T10:00:00.000-07:00'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime('2011-06-03T10:25:00.000-07:00'); $event->setEnd($end); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail('attendeeEmail'); // ... $attendees = array($attendee1, // ..., ); $event->attendees = $attendees; $organizer = new Google_Service_Calendar_EventOrganizer(); $organizer->setEmail('organizerEmail'); $organizer->setDisplayName('organizerDisplayName'); $event->setOrganizer($organizer); $event->setICalUID('originalUID'); $importedEvent = $service->events->import('primary', $event); echo $importedEvent->getId();
Руби
Использует клиентскую библиотеку Ruby .
event = Google::Apis::CalendarV3::Event.new( summary: 'Appointment', location: 'Somewhere', organizer: { email: 'organizerEmail', display_name: 'organizerDisplayName' }, start: { date_time: '2011-06-03T10:00:00.000-07:00' }, end: { date_time: '2011-06-03T10:25:00.000-07:00' }, attendees: [ { email: 'attendeeEmail', display_name: 'attendeeDisplayName', }, # ... ], i_cal_uid: 'originalUID' ) result = client.import_event('primary', event) print result.id
Попробуйте!
Используйте API-интерфейс ниже, чтобы вызвать этот метод для реальных данных и просмотреть ответ.