Events: import

Импортирует событие. Эта операция используется для добавления частной копии существующего события в календарь. Импортировать можно только события с 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 . Он используется для уникальной идентификации событий в системах календаря и должен быть указан при импорте событий с помощью метода импорта .

Обратите внимание, что iCalUID и id не идентичны, и во время создания события следует указывать только один из них. Одно из различий в их семантике заключается в том, что в повторяющихся событиях все вхождения одного события имеют разные id , хотя все они используют одни и те же iCalUID . Чтобы получить событие, используя его iCalUID , вызовите метод event.list, используя параметр iCalUID . Чтобы получить событие по его id , вызовите метод event.get .

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 Географическое местоположение мероприятия в виде текста в произвольной форме. Необязательный. записываемый
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 Метод, используемый в этом напоминании. Возможные значения:
  • « 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 » — мероприятие является частным. Это значение предоставлено из соображений совместимости.
записываемый

Ответ

В случае успеха этот метод возвращает ресурс 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-интерфейс ниже, чтобы вызвать этот метод для реальных данных и просмотреть ответ.

,

Импортирует событие. Эта операция используется для добавления частной копии существующего события в календарь. Импортировать можно только события с 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 . Он используется для уникальной идентификации событий в системах календаря и должен быть указан при импорте событий с помощью метода импорта .

Обратите внимание, что iCalUID и id не идентичны, и во время создания события следует указывать только один из них. Одно из различий в их семантике заключается в том, что в повторяющихся событиях все вхождения одного события имеют разные id , хотя все они используют одни и те же iCalUID . Чтобы получить событие, используя его iCalUID , вызовите метод event.list, используя параметр iCalUID . Чтобы получить событие по его id , вызовите метод event.get .

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 Географическое местоположение мероприятия в виде текста в произвольной форме. Необязательный. записываемый
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 Метод, используемый в этом напоминании. Возможные значения:
  • « 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 » — мероприятие является частным. Это значение предоставлено из соображений совместимости.
записываемый

Ответ

В случае успеха этот метод возвращает ресурс 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-интерфейс ниже, чтобы вызвать этот метод для реальных данных и просмотреть ответ.

,

Импортирует событие. Эта операция используется для добавления частной копии существующего события в календарь. Импортировать можно только события с 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 . Он используется для уникальной идентификации событий в системах календаря и должен быть указан при импорте событий с помощью метода импорта .

Обратите внимание, что iCalUID и id не идентичны, и во время создания события следует указывать только один из них. Одно из различий в их семантике заключается в том, что в повторяющихся событиях все вхождения одного события имеют разные id , хотя все они используют одни и те же iCalUID . Чтобы получить событие, используя его iCalUID , вызовите метод event.list, используя параметр iCalUID . Чтобы получить событие по его id , вызовите метод event.get .

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 Географическое расположение события в виде текста бесплатной формы. Необязательный. Записывается
organizer object Организатор мероприятия. Если организатор также является участником, это указывает на отдельную запись в attendees с полем organizer , установленным True. Чтобы изменить организатор, используйте операцию перемещения . Только для чтения, за исключением случаев импорта события. Записывается
organizer. displayName string Имя организатора, если таковое имеется. Записывается
organizer. email string Адрес электронной почты организатора, если доступен. Это должен быть действительный адрес электронной почты в соответствии с RFC5322 . Записывается
originalStartTime. date date Дата, в формате «yyyy-mm-dd», если это событие на весь день. Записывается
originalStartTime. dateTime datetime Время, как комбинированное значение даты (отформатировано в соответствии с RFC3339 ). Смещение часового пояса требуется, если только часовой пояс явно указан в timeZone . Записывается
originalStartTime. timeZone string Часовой пояс, в котором указано время. (Отформатируется как имя базы данных IANA Time, например, «Европа/Цюрих».) Для повторяющихся событий требуется это поле и указывает часовой пояс, в котором рецидив расширяется. Для отдельных событий это поле является необязательным и указывает на пользовательский часовой пояс для начала/конца события. Записывается
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 Дата, в формате «yyyy-mm-dd», если это событие на весь день. Записывается
start. dateTime datetime Время, как комбинированное значение даты (отформатировано в соответствии с RFC3339 ). Смещение часового пояса требуется, если только часовой пояс явно указан в timeZone . Записывается
start. timeZone string Часовой пояс, в котором указано время. (Отформатируется как имя базы данных IANA Time, например, «Европа/Цюрих».) Для повторяющихся событий требуется это поле и указывает часовой пояс, в котором рецидив расширяется. Для отдельных событий это поле является необязательным и указывает на пользовательский часовой пояс для начала/конца события. Записывается
status string Статус события. Необязательный. Возможные значения:
  • « confirmed » - событие подтверждено. Это статус по умолчанию.
  • « tentative » - событие предварительно подтверждено.
  • « cancelled » - событие отменено (удалено). Метод списка возвращает отмененные события только при инкрементной синхронизации (при указании syncToken или updatedMin ) или если флаг showDeleted устанавливается на true . Метод получить всегда возвращает их.

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

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

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

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

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

    В календаре организатора отмененные события продолжают разоблачать данные о событиях (краткое изложение, местоположение и т. Д.), Чтобы их можно было восстановить (Undeled). Аналогичным образом, события, на которые был приглашен пользователь, и что он удален вручную, продолжают предоставлять детали. Тем не менее, инкрементные запросы на синхронизацию с showDeleted установленным в FALSE, не вернут эти детали.

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

Записывается
summary string Название мероприятия. Записывается
transparency string Блокирует ли событие время в календаре. Необязательный. Возможные значения:
  • " opaque " - значение по умолчанию. Мероприятие заблокирует время в календаре. Это эквивалентно настройке Покажите мне, как занят в календаре.
  • « transparent » - событие не блокирует время в календаре. Это эквивалентно настройке показать мне, что я доступен в календаре.
Записывается
visibility string Видимость события. Необязательный. Возможные значения:
  • « default » - использует видимость по умолчанию для событий в календаре. Это значение по умолчанию.
  • « public » - мероприятие является общедоступным, а подробности мероприятия видны всем читателям календаря.
  • « private » - мероприятие является частным, и единственные участники мероприятий могут просмотреть подробную информацию о событиях.
  • « confidential » - мероприятие является частным. Это значение предоставляется по причинам совместимости.
Записывается

Ответ

В случае успеха этот метод возвращает ресурс событий в органе ответа.

Примеры

Примечание. Примеры кода, доступные для этого метода, не представляют всех поддерживаемых языков программирования (см. Страницу клиентских библиотек для списка поддерживаемых языков).

Ява

Использует клиентскую библиотеку 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

Попробуйте!

Используйте APIS Explorer ниже, чтобы вызвать этот метод на живых данных и увидеть ответ.

,

Импорт мероприятия. Эта операция используется для добавления частной копии существующего события в календарь. Только события с eventType of default могут быть импортированы.

Умеренное поведение: если импортируется событие, не default , его тип будет изменен на default , и любые специфические свойства типа события, которые он мог быть, будут отброшены.

Попробуйте сейчас или посмотрите пример .

Запрос

HTTP-запрос

POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import

Параметры

Имя параметра Ценить Описание
Параметры пути
calendarId string Идентификатор календаря. Чтобы получить идентификаторы календаря, вызовите метод календаря . Если вы хотите получить доступ к основному календарю в настоящее время в настоящее время в пользователе, используйте ключевое слово « primary ».
Дополнительные параметры запроса
conferenceDataVersion integer Номер версии данных конференции, поддерживаемых клиентом API. Версия 0 не предполагает, что не поддерживает данные конференции и игнорирует данные конференции в органе события. Версия 1 обеспечивает поддержку копирования конференц -конференций, а также для создания новых конференций с использованием Createrequest Field of ConferenceNedata. По умолчанию 0. приемлемые значения составляют 0 до 1 , включительно.
supportsAttachments boolean Поддерживает ли клиент API, выполняющий операцию, поддерживает вложения событий. Необязательный. По умолчанию ложь.

Авторизация

Этот запрос требует разрешения хотя бы с одним из следующих областей:

Объем
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

Для получения дополнительной информации см. Страницу аутентификации и авторизации .

Запросить тело

В органе запроса поставьте ресурс событий со следующими свойствами:

Имя свойства Ценить Описание Примечания
Требуемые свойства
end nested object (Эксклюзивное) время окончания мероприятия. Для повторяющегося события это время окончания первого экземпляра.
iCalUID string Событие уникального идентификатора, как определено в RFC5545 . Он используется для уникальной идентификации событий, начисленных на календарные системы и должен поставляться при импорте событий с помощью метода импорта .

Обратите внимание, что iCalUID и id не идентичны, и только один из них должен быть предоставлен во время создания событий. Одно отличие в их семантике заключается в том, что в повторяющихся событиях все входы одного события имеют разные id , в то время как все они имеют одинаковые iCalUID S. Чтобы получить событие, используя его iCalUID , вызовите метод Events.List, используя параметр iCalUID . Чтобы получить событие, используя свой id , вызовите метод Events.Get .

start nested object (Включительно) время начала мероприятия. Для повторяющегося события это время начала первого экземпляра.
Дополнительные свойства
anyoneCanAddSelf boolean Может ли кто -нибудь пригласить себя на мероприятие (обогащенное). Необязательный. По умолчанию ложь. Записывается
attachments[]. fileUrl string URL -ссылка на вложение.

Для добавления вложений файлов Google Drive используйте тот же формат, что и в свойстве alternateLink ресурса Files в 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 Дата, в формате «yyyy-mm-dd», если это событие на весь день. Записывается
end. dateTime datetime Время, как комбинированное значение даты (отформатировано в соответствии с RFC3339 ). Смещение часового пояса требуется, если только часовой пояс явно указан в timeZone . Записывается
end. timeZone string Часовой пояс, в котором указано время. (Отформатируется как имя базы данных IANA Time, например, «Европа/Цюрих».) Для повторяющихся событий требуется это поле и указывает часовой пояс, в котором рецидив расширяется. Для отдельных событий это поле является необязательным и указывает на пользовательский часовой пояс для начала/конца события. Записывается
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 Географическое расположение события в виде текста бесплатной формы. Необязательный. Записывается
organizer object Организатор мероприятия. Если организатор также является участником, это указывает на отдельную запись в attendees с полем organizer , установленным True. Чтобы изменить организатор, используйте операцию перемещения . Только для чтения, за исключением случаев импорта события. Записывается
organizer. displayName string Имя организатора, если таковое имеется. Записывается
organizer. email string Адрес электронной почты организатора, если доступен. Это должен быть действительный адрес электронной почты в соответствии с RFC5322 . Записывается
originalStartTime. date date Дата, в формате «yyyy-mm-dd», если это событие на весь день. Записывается
originalStartTime. dateTime datetime Время, как комбинированное значение даты (отформатировано в соответствии с RFC3339 ). Смещение часового пояса требуется, если только часовой пояс явно указан в timeZone . Записывается
originalStartTime. timeZone string Часовой пояс, в котором указано время. (Отформатируется как имя базы данных IANA Time, например, «Европа/Цюрих».) Для повторяющихся событий требуется это поле и указывает часовой пояс, в котором рецидив расширяется. Для отдельных событий это поле является необязательным и указывает на пользовательский часовой пояс для начала/конца события. Записывается
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 Дата, в формате «yyyy-mm-dd», если это событие на весь день. Записывается
start. dateTime datetime Время, как комбинированное значение даты (отформатировано в соответствии с RFC3339 ). Смещение часового пояса требуется, если только часовой пояс явно указан в timeZone . Записывается
start. timeZone string Часовой пояс, в котором указано время. (Отформатируется как имя базы данных IANA Time, например, «Европа/Цюрих».) Для повторяющихся событий требуется это поле и указывает часовой пояс, в котором рецидив расширяется. Для отдельных событий это поле является необязательным и указывает на пользовательский часовой пояс для начала/конца события. Записывается
status string Статус события. Необязательный. Возможные значения:
  • « confirmed » - событие подтверждено. Это статус по умолчанию.
  • « tentative » - событие предварительно подтверждено.
  • « cancelled » - событие отменено (удалено). Метод списка возвращает отмененные события только при инкрементной синхронизации (при указании syncToken или updatedMin ) или если флаг showDeleted устанавливается на true . Метод получить всегда возвращает их.

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

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

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

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

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

    В календаре организатора отмененные события продолжают разоблачать данные о событиях (краткое изложение, местоположение и т. Д.), Чтобы их можно было восстановить (Undeled). Аналогичным образом, события, на которые был приглашен пользователь, и что он удален вручную, продолжают предоставлять детали. Тем не менее, инкрементные запросы на синхронизацию с showDeleted установленным в FALSE, не вернут эти детали.

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

Записывается
summary string Название мероприятия. Записывается
transparency string Блокирует ли событие время в календаре. Необязательный. Возможные значения:
  • " opaque " - значение по умолчанию. Мероприятие заблокирует время в календаре. Это эквивалентно настройке Покажите мне, как занят в календаре.
  • « transparent » - событие не блокирует время в календаре. Это эквивалентно настройке показать мне, что я доступен в календаре.
Записывается
visibility string Видимость события. Необязательный. Возможные значения:
  • « default » - использует видимость по умолчанию для событий в календаре. Это значение по умолчанию.
  • « public » - мероприятие является общедоступным, а подробности мероприятия видны всем читателям календаря.
  • « private » - мероприятие является частным, и единственные участники мероприятий могут просмотреть подробную информацию о событиях.
  • « confidential » - мероприятие является частным. Это значение предоставляется по причинам совместимости.
Записывается

Ответ

В случае успеха этот метод возвращает ресурс событий в органе ответа.

Примеры

Примечание. Примеры кода, доступные для этого метода, не представляют всех поддерживаемых языков программирования (см. Страницу клиентских библиотек для списка поддерживаемых языков).

Ява

Использует клиентскую библиотеку 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

Попробуйте!

Используйте APIS Explorer ниже, чтобы вызвать этот метод на живых данных и увидеть ответ.