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:
- Crie o evento na agenda do organizador do Google Agenda e adicione convidados (veja acima).
- Use o método
Events: update
para definir a confirmação de presença do participante comoaccepted
outentative
. 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é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 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.
Disponibilizar um link para os usuários adicionarem o 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
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 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.
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
.