Convidar usuários para um evento

Criar um evento

Se você tiver acesso de gravação ao Google Agenda do organizador, poderá adicionar um evento usando o método Events: insert.

Esse método adiciona o evento diretamente à agenda do organizador, independentemente da configuração para adicionar convites.

Adicionar participantes

Com esse método, também é possível adicionar participantes ao mesmo evento adicionando o endereço de e-mail deles à propriedade attendees do evento. Todas as mudanças futuras feitas pelo organizador no evento são propagdas para os participantes.

Os participantes recebem o convite do endereço de e-mail do organizador. Os usuários do Google Agenda recebem o convite no e-mail e/ou na agenda, dependendo das configurações de eventos no Google Agenda:

  • Se ele tiver a configuração From everyone, o evento será adicionado diretamente à agenda deles.
  • Se a configuração Only if the sender is known estiver ativada, o evento será adicionado diretamente à agenda se o usuário tiver interagido com o organizador, se o organizador estiver na mesma organização ou se o organizador estiver nos contatos do Google. Se o organizador não for conhecido, ele poderá clicar em Adicionar à agenda ou confirmar presença clicando em Sim ou Talvez no e-mail de convite. Em seguida, o evento é adicionado à agenda.
  • Se os usuários tiverem a configuração When I respond in email, todos os convites não serão adicionados à agenda até que o usuário confirme presença clicando em Sim, Talvez ou Não no e-mail de convite.

Para mais informações sobre como os convites são adicionados ao Google Agenda, consulte Gerenciar convites no Google Agenda.

Mostrar o evento diretamente nas agendas dos convidados

Para mostrar um evento diretamente nas agendas dos participantes do Google Agenda, para qualquer configuração que eles tenham, você pode definir a confirmação de presença do participante ou importar uma cópia do evento diretamente na agenda do participante. Para ambos os métodos, você precisa de acesso de gravação aos calendários dos participantes. Caso contrário, considere adicionar o organizador aos contatos do participante, o que pode requerer acesso de gravação aos contatos do participante.

Definir a confirmação de presença do participante

Para definir a confirmação de presença de um participante em um evento, siga estas etapas:

  1. Crie o evento na agenda do organizador do Google Agenda e adicione participantes (consulte acima).
  2. Use o método Events: update para definir o RSVP do participante como accepted ou tentative. Você precisa ter acesso de gravação ao calendário do participante. Pode haver um pequeno atraso até que o evento apareça na agenda do participante. Saiba mais sobre como usar o método Events: update.

Esse método adiciona o evento à agenda do participante, mas ele ainda pode ver o banner no e-mail informando que o convite foi enviado de um endereço desconhecido.

Importar uma cópia do evento diretamente na agenda do participante

Para importar uma cópia de um evento para a agenda de um participante, siga estas etapas:

  1. Se você tiver acesso de gravação ao Google Agenda do organizador, importe uma cópia do evento usando o método Events: import.
  2. Importe outra cópia do mesmo evento na agenda do participante usando Events: import. Você precisa ter acesso de gravação à agenda do participante. Use o mesmo ID de evento (iCalUID) para as cópias do organizador e do participante e especifique o organizador na cópia do participante.

Com esse método, o convidado pode ver o evento na agenda, mas não recebe um e-mail de convite do Google Agenda.

Adicionar o organizador aos contatos do participante

Se você não tiver as credenciais do participante, poderá instruir o participante ou a organização dele a adicionar o endereço de e-mail do organizador aos contatos do Google com antecedência para exibir um evento diretamente na agenda dele. Pode levar algum tempo até que um contato recém-criado entre em vigor.

  • Peça para o usuário do Google Agenda adicionar o organizador aos contatos do Google.
  • Se os participantes pertencerem a uma organização, peça ao administrador dela para adicionar endereços de e-mail aos contatos dos usuários de forma programática. Peça ao administrador para ativar a delegação em todo o domínio, impersonificar os usuários e usar o método People: createContact para criar contatos para cada usuário, garantindo que os convites futuros destes endereços de e-mail apareçam automaticamente nos calendários dos usuários.
  • Se você tiver acesso aos contatos do convidado, também poderá adicionar o endereço de e-mail do organizador aos contatos do convidado usando o método People: createContact.

Convidar um usuário por endereço de e-mail

Se você não tiver acesso de gravação ao Google Agenda do organizador ou não quiser expor o endereço de e-mail dele, use o protocolo iCalendar (RFC-5545) para convidar usuários por e-mail usando um arquivo .ICS.

Se o participante for um usuário do Google Agenda com a configuração Only if the sender is known e não tiver interagido com o endereço ou registrado como conhecido, o convite não será adicionado à agenda até que ele clique em Adicionar à agenda ou responda ao evento.

Como alternativa, se você quiser que os usuários do Google Agenda adicionem um evento único sem precisar mantê-lo atualizado com mais facilidade, forneça um link com um evento pré-preenchido para que o usuário adicione a si mesmo. Esse método cria um evento diferente na agenda do usuário, que não pode ser atualizado a menos que você tenha acesso a ela.

Use o seguinte modelo de link:


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

Atualizando as seguintes informações:

  • Datas e horários de início e término: use o formato ISO 8601. No exemplo acima, substitua 20230325T224500Z e 20230326T001500Z.
  • Fusos horários de início e término: formate como um nome do banco de dados de fusos horários da IANA. Coloque os fusos horários nos campos stz e etz.
  • Descrição do evento: precisa ser codificada para URL.
  • Local do evento: precisa ser codificado em URL.
  • Título do evento: precisa ser codificado em URL.

Exemplo

Vamos considerar o exemplo de criação de um serviço de agendamento de horários para ajudar os usuários a agendar horários com uma empresa. Quando um usuário agenda um horário, seu serviço precisa adicionar um evento às agendas do Google do usuário e da empresa.

Para oferecer a melhor experiência ao usuário, recomendamos que a empresa conceda acesso de gravação à agenda dela para que você possa adicionar o evento diretamente à agenda (Criar evento) e convidar o usuário que fez a reserva (Adicionar participantes). Para garantir que o usuário veja o evento na agenda e receba um lembrete, peça para ele verificar os e-mails e confirmar presença Sim no evento imediatamente após fazer uma reserva. Depois de confirmar a presença, eles recebem notificações de evento do Google Agenda com base nas configurações de notificação.

Se você quiser adicionar o evento diretamente à agenda do responsável pela reserva, peça que ele adicione aos contatos o endereço de e-mail que vai receber o convite. Como alternativa, peça aos organizadores do evento o acesso de gravação à agenda para confirmar a presença de forma programática (Definir o RSVP do participante) e envie uma notificação por e-mail sobre a reserva confirmada.

Se a empresa não quiser expor o endereço de e-mail, use um endereço de e-mail específico do usuário para enviar o evento ao organizador usando e-mail (Convidar usuário de um endereço de e-mail).

Propagação de eventos

O diagrama a seguir explica a dinâmica. Primeiro, Jack cria um evento na agenda principal e, portanto, é proprietário da cópia do organizador. Em seguida, ele convida a agenda secundária do grupo de aulas para violoncelo e Susan, que tem a configuração do evento Only if the sender is known. As cópias dos participantes são criadas na agenda secundária do grupo de aulas de violoncelo e na agenda de Susan, se ela conhecer Jack. Caso contrário, isso será feito quando ela confirmar presença ou indicar que conhece Jack. Quando Susan responde, a mudança de confirmação é propagada de volta para o organizador, atualizando a cópia do organizador com a resposta de Susan. Essas mudanças feitas na cópia do evento do organizador são propagadas para os outros participantes.

Diagrama mostrando a dinâmica do evento/participante

Propriedades de eventos compartilhados

A agenda em que o evento é criado é a agenda do organizador. Essa agenda é proprietária das informações de eventos compartilhados, incluindo ID, horário de início e término, resumo e descrição. Quando essas informações são atualizadas no calendário do organizador, as mudanças são propagadas para as cópias dos participantes.

Propriedades de eventos particulares

Nem todas as informações são compartilhadas entre todas as cópias do evento. Algumas propriedades são privadas, como lembretes, colorId, transparência ou a propriedade extendedProperties.private. Essas propriedades são controladas pelas configurações do participante, e não pela agenda do organizador.

Os participantes também podem mudar as propriedades compartilhadas do evento. No entanto, essas mudanças são refletidas apenas na própria cópia e podem ser perdidas se o organizador fizer uma mudança.

A única alteração no evento propagada dos participantes para o organizador é o status da resposta do participante, armazenado na propriedade attendees[].responseStatus.