Convidar usuários para um evento

Crie um evento

Se você tiver acesso de gravação no 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 incluir participantes no mesmo evento, basta adicionar o endereço de e-mail deles à propriedade attendees do evento. Todas as alterações futuras feitas pelo organizador no evento são propagadas para os participantes.

Os participantes recebem o convite pelo 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 eventos nas configurações do Google Agenda:

  • Se a configuração From everyone estiver ativada, o evento será adicionado diretamente à agenda dele.
  • Se ele tiver a configuração Only if the sender is known, o evento será adicionado diretamente à agenda dele se ele já tiver interagido com o organizador, se estiver na mesma organização ou se ele estiver nos Contatos do Google. Se o organizador não for conhecido por ele, ele poderá clicar em Eu conheço este remetente ou em Sim ou Talvez no e-mail de convite para responder ao convite. Em seguida, o evento é adicionado à agenda deles.
  • Se os usuários tiverem a configuração When I respond in email, nenhum convite será adicionado à agenda até que o usuário confirme a 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.

Não defina a resposta do convidado usando a propriedade attendees[].responseStatus como algo diferente de needsAction. Preencher automaticamente a resposta do convidado não adiciona o evento automaticamente às agendas dos usuários.

Mostre o evento diretamente na agenda dos participantes

Para exibir um evento diretamente nas agendas dos convidados do Google Agenda ou de qualquer configuração específica que o convidado tenha, é possível definir o RSVP do participante ou importar uma cópia do evento diretamente para a agenda dele. Nos dois métodos, você precisa de acesso de gravação nas agendas dos participantes. Se não tiver, considere adicionar o organizador aos contatos do convidado, o que pode exigir acesso de gravação aos contatos do convidado.

Definir a resposta de RSVP do convidado

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

  1. Crie o evento na agenda do organizador do Google Agenda e adicione participantes (veja 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 na agenda 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 convidado, mas o convidado ainda poderá ver o banner no e-mail informando que o convite foi enviado de um endereço desconhecido para ele.

Importe uma cópia do evento diretamente para a agenda do convidado

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

  1. Se você tiver acesso de gravação no 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ê deve ter acesso de gravação à agenda do convidado. Use o mesmo ID de evento (iCalUID) para as cópias do organizador e do convidado e especifique o organizador na cópia do convidado.

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

Adicionar o organizador aos contatos do convidado

Se você não tiver as credenciais do participante, poderá instruí-lo 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 haver um pequeno atraso para que um contato recém-criado entre em vigor.

  • Peça ao usuário do Google Agenda para 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 maneira programática. Peça ao administrador para ativar a delegação em todo o domínio, representar os usuários e usar o método People: createContact para criar contatos para cada usuário. Isso garante que futuros convites desses endereços de e-mail apareçam automaticamente nas agendas 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 o usuário por 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 do organizador, use o protocolo iCalendar (RFC-5545) para convidar usuários por e-mail usando um arquivo .ICS.

Se o convidado for 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 Conheço este remetente ou confirme sua presença no evento.

Se preferir, caso você queira facilitar a adição de um evento único para os usuários do Google Agenda sem mantê-lo atualizado, forneça um link com um evento pré-preenchido para o usuário adicionar a si mesmo. Esse método cria um evento diferente na agenda do usuário, que só pode ser atualizado se você tiver acesso à agenda 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 fuso horário IANA. Insira os fusos horários nos campos stz e etz.
  • Descrição do evento: precisa ser codificada por URL.
  • Local do evento: precisa ser codificado para URL.
  • Título do evento: precisa ser codificado por URL.

Exemplo

Vamos considerar o exemplo de criação de um serviço de agendamento de horários para ajudar os usuários a reservar 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 responsável pela reserva e da empresa.

Para a melhor experiência do usuário, recomendamos que a empresa conceda acesso de gravação à agenda. Assim, você pode adicionar o evento diretamente a ela (Criar evento) e convidar o responsável pelo agendamento (Adicionar participantes). Para garantir que o usuário veja o evento na agenda e receba um lembrete, peça que ele verifique os e-mails e responda Sim ao evento imediatamente depois de fazer o agendamento. Depois de confirmar a presença no evento, eles recebem as notificações de eventos do Google Agenda de acordo com as configurações de notificação.

Se você quiser adicionar o evento diretamente à agenda do responsável, peça para ele adicionar aos contatos o endereço de e-mail que vai receber o convite. Também é possível solicitar acesso de gravação na agenda aos responsáveis para que eles respondam de maneira programática em nome (Definir o RSVP do convidado) e enviem 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 específico do usuário para enviar o evento ao agendador por e-mail (Convidar o usuário por um endereço de e-mail).

Propagação de eventos

O diagrama a seguir explica a dinâmica. Primeiro, Rodrigo cria um evento em sua agenda principal e, por isso, é 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 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, caso ela conheça Jack. Caso contrário, quando ela responder ou indicar que conhece o Rodrigo. Quando Susan responde, a alteração de RSVP é propagada de volta para o organizador, atualizando a cópia com a resposta de Susana. Essas alterações feitas na cópia do evento do organizador são propagadas para os outros participantes.

Diagrama mostrando a dinâmica do evento/participante

Propriedades do evento compartilhado

A agenda em que o evento é criado é a agenda do organizador. Ela é proprietária das informações compartilhadas do evento, incluindo ID, horário de início e término, resumo e descrição. Quando essas informações são atualizadas na agenda do organizador, as alterações são propagadas para as cópias dos convidados.

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 serão refletidas apenas na própria cópia e poderão ser perdidas se o organizador fizer uma alteração.

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