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 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 pelo 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 do 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 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, o participante pode 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:
- Crie o evento na agenda do organizador do Google Agenda e adicione participantes (veja acima).
- Use o método
Events: update
para definir a RSVP do participante comoaccepted
outentative
. 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étodoEvents: 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:
- Se você tiver acesso de gravação ao Google Agenda do organizador, importe uma cópia
do evento usando o método
Events: import
. - 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 para ele ou para a organização adicionar o endereço de e-mail do organizador aos contatos do Google com antecedência para mostrar um evento diretamente na agenda. 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 desses endereços de e-mail apareçam automaticamente nos calendários 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 por endereço de e-mail
Se você não tiver acesso de gravação ao Google Agenda do organizador ou se 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.
Fornecer um link para os usuários adicionarem o evento
Como alternativa, se você quiser facilitar a inclusão de um evento único no Google Agenda sem precisar atualizá-lo, forneça um link com um evento preenchido para que o usuário se adicione. 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
e20230326T001500Z
. - 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
eetz
. - Descrição do evento: precisa ser codificada por 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 presença no evento, as pessoas vão receber 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 cliente, peça para ele adicionar o endereço de e-mail em que ele vai receber o convite aos contatos. 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 o
calendário secundário 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 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.
Propriedades de eventos compartilhados
A agenda em que o evento é criado é a agenda do organizador. Essa agenda é proprietária das informações de eventos compartilhadas, 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 mudança de evento que é propagada dos participantes para o organizador é
o status de resposta do participante, armazenado na
propriedade
attendees[].responseStatus
.