Criando um novo evento no Google Agenda com Latenode
Criando um novo evento no Google Agenda com Latenode

Nota: Após adicionar novos nós na cadeia Latenode de um projeto, para acessar os dados dos nós anteriores, você precisa executar o projeto e chamar a cadeia com todos os dados necessários. Dados substituídos do nó "JavaScript" no nó "solicitação HTTP" geralmente precisam ser escapados com aspas duplas. Objetos complexos ou matrizes recebidos em resposta à solicitação de servidores remotos e vindos como string devem ser processados por JSON.parse para trabalhar com eles em nós "JavaScript" como com o tipo de dados correspondente.
Primeiro, certifique-se de obter o token de acordo com o instruções Em nosso artigo, selecione apenas na lista de servidores "Google Calendar API v..." e no escopo "www.googleapis.com/auth/calendar ";
Em seguida, crie um novo calendário no Calendar, podemos chamá-lo por exemplo de "LatenodeTest";
Vamos preparar uma solicitação para nosso cliente de descanso;
REQ01: Solicitação de descanso do cliente
curl --request POST --url 'https://webhook.latenode.com/00/dev/some_hash'
--header 'Accept: application/json'
--header 'Content-Type: application/x-www-form-urlencoded'
--data 'token=[Replace the square brackets with the content of your token]'
--data 'summary=Event created from Latenode'
--data 'location=https://app.latenode.com'
--data 'description=Adding an event to the calendar from Latenode using the API'
--data 'startDate=2022-12-21T09:00:00-07:00 Change to the nearest date'
--data 'startTZ=Europe/Moscow'
--data 'endDate=2022-12-22T09:00:00-07:00 Change to the nearest date'
--data 'endTZ=Europe/Moscow'
Vamos substituir nosso token obtido no passo inicial;
![]()
Altere a data de início "startDate" e a data de término "endDate" para a mais próxima; você também pode alterar o fuso horário, caso ele não se ajuste a startTZ e endTZ;
![]()
Crie um nó "Webhook": "+ Adicionar nó" => "Http" => "Webhook";
Copie o endereço do Webhook e cole-o na barra de endereços do cliente REST;
![]()
![]()
Em seguida, vamos adicionar outro nó "JavaScrtipt": "+ Adicionar Nó" => "Código" => "JavaScrtipt";
Salve as alterações;
Amarre o nó;
Vamos começar e chamar a cadeia para transferir dados entre os nós;
Vamos copiar o conteúdo para ele:
const apiURL = "https://www.googleapis.com/calendar/v3";
const bToken = "Bearer " + data["{{1.body.token}}"];
const event = {
'summary': data["{{1.body.summary}}"],
'location': data["{{1.body.location}}"],
'description': data["{{1.body.description}}"],
'start': {
'dateTime': data["{{1.body.startDate}}"],
'timeZone': data["{{1.body.startTZ}}"]
},
'end': {
'dateTime': data["{{1.body.endDate}}"],
'timeZone': data["{{1.body.endTZ}}"]
},
'reminders': {
'useDefault': false,
'overrides': [
{'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10}
]
}
};
return {
apiURL, bToken, event
}
Vamos verificar todas as construções como "dados["{{1.body.name}}"]"que o número do Webhook corresponde ao que estamos obtendo dados, se não, substitua-o pelo necessário (deixe-me lembrá-lo de que 1 é o número do nó escrito logo abaixo do nome do nó acima do tipo de nó, então se for uma consulta, o campo do objeto responsável pelo tipo de dados enviados/recebidos é selecionado - corpo para formulários ou consulta para parâmetros de consulta);
![]()
Salvar;
Vamos criar o nó "Solicitação HTTP": "+ Adicionar nó" => "Http" => "Solicitação HTTP";
Salve as alterações;
Amarre os nós juntos;
Vamos começar e chamar a cadeia para transferir dados entre os nós;
No campo "Url" do início vamos substituir a variável "apiURL" de "JavaScrtipt" e depois dele especificamos: /usuários/eu/calendarList ;
Certifique-se de que o método padrão é "Obter";
Vamos adicionar o título "Autorização" e em seu valor a variável "bToken" de "JavaScrtipt";
Clique em "Salvar";
![]()
Vamos criar outro nó "JavaScrtipt": "+ Adicionar Nó" => "Código" => "JavaScrtipt";
Salve as alterações;
Amarre os nós juntos;
Vamos começar e chamar a cadeia para transferir dados entre os nós;
Vamos copiar o conteúdo para ele, para encontrar o calendário desejado na lista obtida na consulta anterior:
const tempCalendarsList = JSON.parse(data["{{3.body.items}}"]); // Make sure the information is from the correct node from the calendar list query
const targetCalendar = tempCalendarsList.find((calendar) => calendar.summary === "LatenodeTest"); // Here instead of "LatenodeTest" you can write the name of the desired calendar
return {
targetCalendar
}
Verifique os dados que estão especificados nos comentários do código;
Economize
Vamos criar o nó "Solicitação HTTP": "+ Adicionar nó" => "Http" => "Solicitação HTTP";
Salve as alterações;
Amarre os nós juntos;
Vamos começar e chamar a cadeia para transferir dados entre os nós;
No campo "Url" no início substituímos a variável "apiURL" do primeiro nó "JavaScrtipt", depois dele adicionamos: /calendários/, então substituímos a variável "targetCalendar.id" de "JavaScrtipt" com o processamento da lista de calendários e no final: / eventos;
Altere o método para o método "Post";
No corpo de "raw": vamos substituir a variável que contém o objeto pelo novo evento do primeiro nó "JavaScrtipt";
Vamos adicionar o cabeçalho "Autorization" e em seu valor a variável "bToken" do primeiro nó "JavaScrtipt";
Clique em "Salvar";
![]()
Amarre os nós juntos;
Vamos começar e chamar a cadeia para transferir dados entre os nós;
Depois disso, um novo evento deve aparecer no calendário;
![]()
No final de toda a cadeia no Latenode ficará assim:
![]()
Vejo vocês em artigos futuros;
Links úteis:
Básico:
Nó latente
Playground do Google OAuth 2.0
Em formação:
API do Google Agenda
API do Google Agenda CalendarList: lista
Evento da API do Google Agenda: inserir



