Пригласите пользователей на мероприятие

Создать событие

Если у вас есть права на запись в календарь Google организатора, вы можете добавить событие Events: insert .

Этот метод добавляет событие непосредственно в календарь организатора, независимо от его настроек добавления приглашений.

Добавить участников

Этот метод также позволяет добавлять участников к тому же мероприятию, указав их адреса электронной почты в свойстве « attendees » мероприятия. Любые будущие изменения, внесенные организатором в мероприятие, будут переданы участникам.

Участники получают приглашение на электронный адрес организатора. Пользователи Google Календаря получают приглашение по электронной почте и/или в календаре, в зависимости от настроек мероприятия в настройках Google Календаря:

  • Если у них включена опция From everyone , событие добавляется непосредственно в их календарь.
  • Если у них включена настройка Only if the sender is known , событие добавляется непосредственно в их календарь, если они ранее взаимодействовали с организатором, если организатор работает в той же организации или если организатор есть в их контактах Google . Если организатор им неизвестен, они могут нажать «Добавить в календарь» или «Подтвердить участие», нажав «Да» или «Возможно» в электронном письме с приглашением. После этого событие добавляется в их календарь.
  • Если у пользователей включена опция When I respond in email , все приглашения не добавляются в их календарь до тех пор, пока пользователь не подтвердит своё участие, нажав «Да» , «Возможно » или «Нет» в электронном письме с приглашением.

Для получения дополнительной информации о том, как добавлять приглашения в Google Календарь, см. раздел «Управление приглашениями в Календаре» .

Отобразить мероприятие непосредственно в календарях участников.

Чтобы отобразить событие непосредственно в календаре участников Google Календаря с учетом любых настроек, которые может установить участник, вы можете установить подтверждение участия (RSVP) или импортировать копию события непосредственно в календарь участника . Для обоих методов вам необходимы права на запись в календари участников; если они у вас нет, рассмотрите возможность добавления организатора в контакты участника , что может потребовать прав на запись в контакты участника.

Установите флажок подтверждения участия для участника.

Чтобы подтвердить участие участника в мероприятии, выполните следующие действия:

  1. Создайте событие в календаре организатора Google Calendar и добавьте участников ( см. выше ).
  2. Используйте метод Events: update , чтобы установить статус подтверждения участия участника как accepted или tentative . У вас должны быть права на запись в календарь участника. Возможно небольшое задержка перед отображением события в календаре участника. Узнайте больше о том, как использовать метод Events: update .

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

Импортируйте копию мероприятия непосредственно в календарь участника.

Чтобы импортировать копию события в календарь участника, выполните следующие действия:

  1. Если у вас есть права на запись в календарь Google организатора, импортируйте копию события, используя метод Events: import :.
  2. Импортируйте еще одну копию того же события в календарь участника, используя 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 ». Копии для участников создаются в дополнительном календаре группы уроков игры на виолончели, а также в календаре Сьюзен, если она знает Джека, в противном случае — когда она подтверждает свое участие или указывает, что знает Джека. Когда Сьюзен отвечает, изменение подтверждения участия передается обратно организатору, обновляя копию организатора ответом Сьюзен. Эти изменения, внесенные в копию события организатора, затем распространяются на других участников.

Диаграмма, показывающая динамику мероприятия/участников.

Общие свойства событий

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

Частные площадки для мероприятий

Не вся информация передается между всеми копиями события. Некоторые свойства являются приватными, например, напоминания, colorId , прозрачность или свойство extendedProperties.private . Эти свойства контролируются настройками участника, а не календарем организатора.

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

Единственное изменение события, которое передается от участников обратно организатору, — это статус ответа участника, хранящийся в свойстве attendees[].responseStatus .