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, independente da configuração dele para adicionar convites.

Adicionar convidados

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. Qualquer mudança futura feita pelo organizador no evento será propagada 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 por e-mail e/ou na agenda, dependendo das configurações de evento no Google Agenda:

  • Se a configuração From everyone estiver ativada, o evento será adicionado diretamente à agenda
  • Se a configuração Only if the sender is known estiver ativada, o evento será adicionado diretamente à agenda se a pessoa já tiver interagido com o organizador, se o organizador for da mesma organização ou se ele estiver nos Contatos do Google. Se o organizador não for conhecido, eles podem clicar em Adicionar à agenda ou confirmar presença clicando em Sim ou Talvez no e-mail de convite. O evento é adicionado à agenda dela.
  • 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, seja qual for a configuração que eles tenham, defina a confirmação de presença ou importe uma cópia do evento diretamente na agenda do participante. Para os dois métodos, você precisa de acesso de gravação aos calendários dos participantes. Se não tiver, adicione o organizador aos contatos do participante, o que pode exigir acesso de gravação aos contatos dele.

Definir a resposta do participante

Para definir a resposta de um participante a um evento, siga estas etapas:

  1. Crie o evento na agenda do organizador do Google Agenda e adicione convidados (veja acima).
  2. Use o método Events: update para definir a confirmação de presença do participante como accepted ou tentative. Você precisa ter acesso de gravação ao calendário do participante. Pode haver um pequeno atraso antes que o evento apareça na agenda do convidado. 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 participante 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, peça que ele ou a organização adicione o endereço de e-mail do organizador aos contatos do Google com antecedência para que o evento apareça diretamente na agenda. Pode haver um pequeno atraso para 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 programaticamente os endereços de e-mail aos contatos dos usuários. Peça ao administrador para ativar a delegação em todo o domínio, fazer a representação dos usuários e usar o método People: createContact para criar contatos para cada usuário. Assim, os convites futuros desses endereços de e-mail vão aparecer automaticamente nas agendas dos usuários.
  • Se você tiver acesso aos contatos do participante, também poderá adicionar o endereço de e-mail do organizador aos contatos do participante usando o método People: createContact.

Convidar um usuário de um 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 convidado for um usuário do Google Agenda com a configuração Only if the sender is known e não tiver interagido ou registrado o endereço como conhecido, o convite não será adicionado à agenda até que ele clique em Adicionar à Agenda ou responda ao evento.

Outra opção é facilitar a adição de um evento único sem atualizações para os usuários do Google Agenda. Para isso, forneça um link com um evento pré-preenchido para que o usuário se adicione. Esse método cria um evento distinto no calendário do usuário, que não pode ser atualizado a menos que você tenha acesso ao calendário dele.

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 por URL.
  • Local do evento: precisa ser codificado por URL.
  • Título do evento: precisa ser codificado em URL.

Exemplo

Vamos considerar o exemplo de criar um serviço de agendamento de horários para ajudar os usuários a marcar horários com uma empresa. Quando um usuário agenda um horário, você quer que seu serviço adicione um evento às agendas do Google do cliente e da empresa.

Para oferecer a melhor experiência ao usuário, recomendamos que a empresa conceda acesso de gravação à agenda. Assim, você pode adicionar o evento diretamente à agenda da empresa (Criar evento) e convidar o organizador para ele (Adicionar participantes). Para garantir que o usuário veja o evento na agenda e receba um lembrete, informe que ele precisa verificar os e-mails e confirmar presença Sim no evento imediatamente após fazer uma reserva. Depois que elas confirmarem presença no evento, vão receber notificações do Google Agenda de acordo com as configurações de notificação.

Se quiser adicionar o evento diretamente à agenda do organizador, informe a ele para adicionar aos contatos o endereço de e-mail de onde vai receber o convite. Outra opção é pedir aos organizadores acesso de gravação à agenda deles para confirmar presença de forma programática em nome deles (Definir a confirmação de presença do participante) e enviar 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 por 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 dele (e, portanto, é o proprietário da cópia do organizador). Em seguida, ele convida a agenda secundária do grupo de aulas de violoncelo e Susan, que tem a configuração de 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 conhece Jack. Caso contrário, isso acontece quando ela confirma presença ou indica que conhece Jack. Quando Susan responde, a mudança de confirmação é propagada de volta ao organizador, atualizando a cópia dele 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 de eventos/participantes

Propriedades de eventos compartilhados

A agenda em que o evento é criado é a agenda do organizador. Essa agenda é proprietária das informações do evento compartilhado, 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 de eventos. Algumas propriedades são particulares, como lembretes, colorId, transparência ou a propriedade extendedProperties.private. Essas propriedades são controladas pelas configurações do participante, 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 cópia do participante e podem ser perdidas se o organizador fizer uma alteração.

A única mudança de evento propagada dos participantes para o organizador é o status de resposta do participante, armazenado na propriedade attendees[].responseStatus.