Создать событие
Если у вас есть доступ на запись в Google Календарь организатора, вы можете добавить событие с помощью метода Events: insert
.
Этот метод добавляет мероприятие непосредственно в календарь организатора, независимо от его настроек добавления приглашений.
Добавить участников
С помощью этого метода вы также можете добавить участников к тому же событию, добавив их адрес электронной почты в свойство attendees
мероприятия. Любые будущие изменения, внесенные организатором в мероприятие, доводятся до участников.
Участники получают приглашение на адрес электронной почты организатора. Пользователи Календаря Google получают приглашение по электронной почте и/или в своем календаре, в зависимости от настроек событий в настройках Календаря Google:
- Если у них есть настройка
From everyone
, событие добавляется непосредственно в их календарь. - Если у них есть настройка
Only if the sender is known
, событие добавляется непосредственно в их календарь, если они ранее взаимодействовали с организатором, если организатор находится в той же организации или если организатор есть в их контактах Google . Если организатор им неизвестен, они могут нажать «Добавить в календарь» или «Ответить», нажав «Да» или «Может быть» в электронном письме с приглашением. Затем событие добавляется в их календарь. - Если у пользователей есть настройка
When I respond in email
, все приглашения не добавляются в их календарь до тех пор, пока пользователь не ответит, нажав «Да» , «Может быть » или «Нет» в электронном письме с приглашением.
Дополнительную информацию о том, как добавлять приглашения в Календарь Google, см. в разделе «Управление приглашениями в Календаре» .
Отображение мероприятия прямо в календарях участников.
Чтобы отобразить мероприятие непосредственно в календарях участников Календаря Google с любыми настройками, которые может иметь участник, вы можете установить RSVP участника или импортировать копию мероприятия непосредственно в календарь участника . Для обоих методов вам потребуется доступ для записи в календари участников; если вы этого не сделаете, рассмотрите возможность добавления организатора в контакты участника , для чего может потребоваться доступ для записи к контактам участника.
Установите ответ участника
Чтобы настроить ответ участника на событие, выполните следующие действия:
- Создайте мероприятие в календаре организатора Календаря Google и добавьте участников ( см. выше ).
- Используйте метод
Events: update
, чтобы установить для ответа участника значениеaccepted
илиtentative
. У вас должен быть доступ для записи в календаре участника. Прежде чем событие появится в календаре участника, может пройти небольшая задержка. Узнайте больше о том, как использовать методEvents: update
.
Этот метод добавляет событие в календарь участника, но участник по-прежнему может видеть в своем электронном письме баннер о том, что приглашение было отправлено с ранее неизвестного ему адреса.
Импортируйте копию мероприятия прямо в календарь участника.
Чтобы импортировать копию мероприятия в календарь участника, выполните следующие действия:
- Если у вас есть доступ для записи в Календарь Google организатора, импортируйте копию мероприятия, используя метод
Events: import
. - Импортируйте еще одну копию того же события в календарь участника с помощью
Events: import
. У вас должен быть доступ для записи в календаре участника. Используйте один и тот же идентификатор события (iCalUID
) для копий организатора и участника и обязательно укажите организатора в копии участника.
При использовании этого метода участник может видеть мероприятие в своем календаре, но не получает электронное письмо с приглашением от Календаря Google.
Добавьте организатора в контакты участника
Если у вас нет учетных данных участника, вы можете поручить участнику или его организации заранее добавить адрес электронной почты организатора в свои контакты Google, чтобы событие отображалось непосредственно в их календаре. Вступление в силу вновь созданного контакта может произойти с небольшой задержкой.
- Попросите пользователя Календаря Google добавить организатора в свои контакты Google .
- Если участники принадлежат к организации, вы можете попросить администратора организации программно добавить адреса электронной почты в контакты их пользователей. Попросите администратора включить широкое делегирование домена , олицетворять пользователей и использовать метод
People: createContact
для создания контактов для каждого пользователя, чтобы гарантировать, что будущие приглашения с этих адресов электронной почты автоматически появятся в календарях пользователей. - Если у вас есть доступ к контактам участника, вы также можете добавить адрес электронной почты организатора в контакты участника с помощью метода
People: createContact
.
Пригласить пользователя с адреса электронной почты
Если у вас нет доступа для записи в Календарь Google организатора или вы не хотите раскрывать адрес электронной почты организатора, используйте протокол iCalendar ( RFC-5545 ), чтобы приглашать пользователей по электронной почте с использованием файла .ICS.
Если участник является пользователем Календаря Google с параметром Only if the sender is known
и он ранее не взаимодействовал с известным ему адресом и не записывал его», приглашение не добавляется в его календарь, пока он не нажмет «Добавить в календарь» или они ответили на приглашение на мероприятие.
Предоставьте ссылку, чтобы пользователи могли добавить событие.
В качестве альтернативы, если вы хотите, чтобы пользователям Календаря Google было проще добавлять событие как разовое, не обновляя его, вы можете предоставить ссылку с предварительно заполненным событием, чтобы пользователь мог добавить себя. Этот метод создает отдельное событие в календаре пользователя, которое вы не сможете обновить, если у вас нет доступа к календарю пользователя.
Используйте следующий шаблон ссылки:
https://calendar.google.com/calendar/r/eventedit?action=TEMPLATE&dates=20230325T224500Z%2F20230326T001500Z&stz=Europe/Brussels&etz=Europe/Brussels&details=EVENT_DESCRIPTION_HERE&location=EVENT_LOCATION_HERE&text=EVENT_TITLE_HERE
обновив следующую информацию:
- Даты и время начала и окончания : используйте формат ISO 8601. В приведенном выше примере замените
20230325T224500Z
и20230326T001500Z
. - Начальный и конечный часовые пояса : отформатируйте как имя базы данных часовых поясов IANA. Укажите часовые пояса в полях
stz
иetz
. - Описание события : Должен быть закодирован по URL.
- Место проведения мероприятия : должно быть закодировано в URL.
- Название мероприятия : должно быть закодировано в URL.
Пример
Давайте рассмотрим пример создания службы бронирования встреч, которая поможет пользователям записываться на встречи в компании. Когда пользователь записывает встречу, вы хотите, чтобы ваша служба добавляла событие в календари Google заказчика и компании.
Для удобства пользователей мы рекомендуем, чтобы компания предоставила доступ для записи в свой календарь, чтобы вы могли добавить событие непосредственно в календарь компании ( Создать событие ) и пригласить на это мероприятие автора бронирования ( Добавить участников ). Чтобы пользователь, сделавший бронирование, увидел событие в своем календаре и получил напоминание о нем, попросите его проверить электронную почту и дать ответ «Да» на мероприятие сразу после оформления бронирования. Как только они ответят на участие в мероприятии, им будут отправлены уведомления о мероприятиях из Календаря Google в соответствии с их настройками уведомлений.
Если вы хотите добавить мероприятие непосредственно в календарь бронирующего, сообщите им, чтобы они добавили в свои контакты адрес электронной почты, с которого они получат приглашение. Альтернативно, попросите у бронирующих доступ к записи в их календаре, чтобы программно ответить на приглашение от их имени ( Установить ответ участника ) и отправьте им уведомление по электронной почте о подтвержденном бронировании.
Если компания не хочет раскрывать свой адрес электронной почты, используйте адрес электронной почты, указанный пользователем, чтобы отправить мероприятие заказчику по электронной почте ( Пригласить пользователя с адреса электронной почты ).
Распространение событий
Следующая диаграмма объясняет динамику. Сначала Джек создает событие в своем основном календаре (и, таким образом, владеет копией органайзера). Затем он приглашает дополнительный календарь группы уроков игры на виолончели и Сьюзан, у которой есть настройка события Only if the sender is known
. Копии участников создаются во вторичном календаре группы уроков игры на виолончели и в календаре Сьюзен, если она знает Джека, в противном случае, когда она отвечает на приглашение или указывает, что знает Джека. Когда Сьюзен отвечает, изменение RSVP передается обратно организатору, обновляя копию организатора ответом Сьюзен. Эти изменения, внесенные в копию мероприятия организатора, затем распространяются на других участников.
Общие свойства событий
Календарь, в котором создается событие, является календарем организатора . Этот календарь владеет общей информацией о событии, включая идентификатор, время начала и окончания, сводку и описание. Когда эта информация обновляется в календаре организатора, изменения распространяются на копии участников.
Свойства частного мероприятия
Не вся информация распределяется между всеми копиями событий. Некоторые свойства являются частными, например, напоминания, colorId
, прозрачность или свойство extendedProperties.private
. Эти свойства контролируются настройками участника, а не календарем организатора.
Участники также могут изменить общие свойства мероприятия. Однако эти изменения отражаются только в отдельной копии и могут быть потеряны, если организатор внесет изменения.
Единственное изменение события, которое передается от участников обратно к организатору, — это статус ответа участника, хранящийся в свойстве attendees[].responseStatus
.