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:
- Crie o evento na agenda do organizador do Google Agenda e adicione participantes (veja acima).
- Use o método
Events: update
para definir o RSVP do participante comoaccepted
outentative
. 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étodoEvents: 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:
- Se você tiver acesso de gravação no 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ê 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.
Forneça um link para os usuários adicionarem o 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
e20230326T001500Z
. - 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
eetz
. - 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.
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
.