Latenode

Criando um novo evento no Google Calendar com a Latenode

Crie um novo evento no Google Calendar com a Latenode

3 min de leitura
Fluxo da Latenode criando um evento no Google Calendar

Observação: após adicionar novos nós à cadeia da Latenode em 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. Os dados substituídos do nó "JavaScript" para o nó "HTTP request" frequentemente precisam ser escapados com aspas duplas. Objetos ou matrizes complexos recebidos como resposta a solicitações de servidores remotos e enviados como string devem ser processados com JSON.parse para que você possa utilizá-los em nós "JavaScript" com o tipo de dados correspondente.

Primeiro, certifique-se de obter o token de acordo com as instruções do nosso artigo. Na lista de servidores, selecione "Google Calendar Api v..." e, no escopo, selecione "www.googleapis.com/auth/calendar ";

Em seguida, crie um novo calendário no Calendar. Você pode chamá-lo, por exemplo, de "LatenodeTest";

Vamos preparar uma solicitação para nosso cliente REST;

REQ01: solicitação para o cliente REST


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=[Substitua os colchetes pelo conteúdo do seu token]'
--data 'summary=Evento criado com a Latenode'
--data 'location=https://app.latenode.com'
--data 'description=Adição de um evento ao calendário a partir da Latenode usando a API'
--data 'startDate=2022-12-21T09:00:00-07:00 Altere para a data mais próxima'
--data 'startTZ=Europe/Moscow'
--data 'endDate=2022-12-22T09:00:00-07:00 Altere para a data mais próxima'
--data 'endTZ=Europe/Moscow'

Vamos substituir pelo token obtido na etapa inicial;

Altere a data de início "startDate" e a data de término "endDate" para datas mais próximas. Você também pode alterar o fuso horário caso startTZ e endTZ não sejam adequados;

Crie um nó "Webhook": "+ Add node" => "Http" => "Webhook";

Copie o endereço do Webhook e cole-o na barra de endereço do cliente REST;

Em seguida, adicione outro nó "JavaScript": "+ Add Node" => "Code" => "JavaScript";

Salve as alterações;

Conecte os nós;

Vamos iniciar e chamar a cadeia para transferir dados entre os nós;

Copie o conteúdo abaixo 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
  }

Verifique em todas as construções como "data["{{1.body.name}}"]" se o número do Webhook corresponde ao nó do qual estamos obtendo os dados. Caso contrário, substitua-o pelo número necessário. Lembrando que 1 é o número do nó, exibido logo abaixo do nome do nó e acima do tipo de nó. Em seguida, se for uma consulta, selecione o campo do objeto responsável pelo tipo de dados enviados/recebidos: body para formulários ou query para parâmetros de consulta;

Salve;

Vamos criar o nó "HTTP request": "+ Add node" => "Http" => "HTTP request";

Salve as alterações;

Conecte os nós;

Vamos iniciar e chamar a cadeia para transferir dados entre os nós;

No campo "Url", no início, substitua pela variável "apiURL" do nó "JavaScript" e, depois dela, informe: /users/me/calendarList ;

Certifique-se de que o método padrão seja "Get";

Adicione o cabeçalho "Autorization" e, no valor dele, a variável "bToken" do nó "JavaScript";

Clique em "Save";

Vamos criar outro nó "JavaScript": "+ Add Node" => "Code" => "JavaScript";

Salve as alterações;

Conecte os nós;

Vamos iniciar e chamar a cadeia para transferir dados entre os nós;

Copie o conteúdo abaixo para ele para encontrar o calendário desejado na lista obtida pela 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 especificados nos comentários do código;

Salve;

Vamos criar o nó "HTTP request": "+ Add node" => "Http" => "HTTP request";

Salve as alterações;

Conecte os nós;

Vamos iniciar e chamar a cadeia para transferir dados entre os nós;

No campo "Url", no início, substitua pela variável "apiURL" do primeiro nó "JavaScript". Depois dela, adicione: /calendars/, em seguida substitua pela variável "targetCalendar.id" do nó "JavaScript" que processa a lista de calendários e, ao final, adicione: /events;

Altere o método para "Post";

No corpo em "raw", substitua pela variável que contém o objeto com o novo evento do primeiro nó "JavaScript";

Adicione o cabeçalho "Autorization" e, no valor dele, a variável "bToken" do primeiro nó "JavaScript";

Clique em "Save";

Conecte os nós;

Vamos iniciar e chamar a cadeia para transferir dados entre os nós;

Depois disso, um novo evento deverá aparecer no calendário;

Ao final, toda a cadeia na Latenode ficará assim:

Até os próximos artigos;

Básico:

Latenode
Google OAuth 2.0 Playground

Informações:

Google Calendar API
Google Calendar API CalendarList: list
Google Calendar API Event: insert

FAQ

Frequently Asked Questions

Selecione a API do Google Calendar e use o escopo www.googleapis.com/auth/calendar ao obter seu token conforme o artigo da Latenode sobre tokens do Google.

Isso foi útil? Compartilhe →

Escrito por

Vasiliy Datsenko

Head of Customer Support

Vasiliy Datsenko é Head of Customer Support na Latenode e um escritor de automação focado em produto. Seu trabalho conecta conversas com clientes, pesquisa de automação de fluxos de trabalho, casos de uso de IA e educação prática sobre produtos para equipes que tentam automatizar processos de negócios reais.

Perfil do autor →

Verificado por

Oleg Zankov

CEO da Latenode, Especialista em No-code

Com uma filosofia enraizada em inovação, resolução de problemas e experiência do usuário, estou focado em capacitar equipes a criar integrações personalizadas e automatizar fluxos de trabalho com facilidade e eficiência. Trazendo uma vasta experiência em desenvolvimento de negócios, empreendedorismo tecnológico e desenvolvimento de software, reconheci a necessidade de uma solução de integração mais acessível, escalável e adaptável. Assim, nasceu a Latenode.com. Com nossa plataforma, as empresas podem aproveitar o poder da tecnologia sem a necessidade de conhecimentos extensos em programação. Apaixonado por promover um futuro onde a tecnologia nos serve, e não o contrário, minha missão é tornar processos complexos simples. Acredito em democratizar a tecnologia e equipar as equipes com as ferramentas para inovar, crescer e ter sucesso em um mundo cada vez mais digital.

Perfil do autor →

Continue lendo