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

Создать мероприятие

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

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

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

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

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

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

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

Не устанавливайте ответ участника с помощью свойства attendees[].responseStatus ни на что другое, кроме needsAction . Предварительное заполнение ответа участника не добавляет событие автоматически в календари пользователей.

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

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

Установите ответ участника

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

  1. Создайте мероприятие в календаре организатора Календаря Google и добавьте участников ( см. выше ).
  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 . Копии участников создаются во вторичном календаре группы уроков игры на виолончели и в календаре Сьюзен, если она знает Джека, в противном случае, когда она отвечает или указывает, что знает Джека. Когда Сьюзен отвечает, изменение RSVP передается обратно организатору, обновляя копию организатора ответом Сьюзен. Эти изменения, внесенные в копию мероприятия организатора, затем распространяются на других участников.

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

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

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

Свойства частного мероприятия

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

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

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