Ferramentas de desenvolvimento
Jaha Jereshov
Desenvolvedor de back-end
29 de dezembro de 2022
Uma plataforma de baixo código que combina simplicidade sem código com potência de código completo 🚀 Você pode usar a plataforma de baixo código para obter mais informações.
Comece a usar gratuitamente
29 de dezembro de 2022
-
10
leitura mínima

Criando um novo evento no Google Agenda com Latenode

Jaha Jereshov
Desenvolvedor de back-end
Tabela de conteúdo

Observação: 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. Os 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 a solicitações de servidores remotos e recebidos como cadeia de caracteres devem ser processados por JSON.parse para que você possa trabalhar com eles nos nós "JavaScript" como o tipo de dados correspondente.

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

Em seguida, crie um novo calendário no Calendar, que pode ser chamado, por exemplo, de "LatenodeTest";

Vamos preparar uma solicitação para nosso cliente de repouso;

REQ01: Solicitação de cliente de repouso


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 a partir de Latenode'
--data 'location=https://app.latenode.com'
--data 'description=Adicionando um evento ao calendário de Latenode usando a API'
--data 'startDate=2022-12-21T09:00:00-07:00 Alterar para a data mais próxima'
--data 'startTZ=Europa/Moscou'
--data 'endDate=2022-12-22T09:00:00-07:00 Altere para a data mais próxima'
--data 'endTZ=Europa/Moscou'

Vamos substituir nosso token obtido na etapa no início;

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 se ele não se encaixar em 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 restante;

Em seguida, vamos adicionar outro nó "JavaScrtipt": "+ Add Node" => "Code" => "JavaScrtipt";

Salve as alterações;

Unir o nó;

Vamos iniciar 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
  }

Let's check in all constructions like "data["{{1.body.name}}"]" that the number of Webhook corresponds to the one we are getting data from, if not replace it with the necessary one (let me remind you that 1 is the node number written just below the node name above the node type, then if it is a query then the object field responsible for the type of sent/received data is selected - body for forms or query for query parameters);

Você pode economizar;

Vamos criar o nó "Solicitação HTTP": "+ Adicionar nó" => "Http" => "Solicitação HTTP";

Salve as alterações;

Unir os nós;

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

No campo "Url", no início, vamos substituir a variável"apiURL" de "JavaScrtipt" e, depois dela, especificamos: /users/me/calendarList ;

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

Vamos adicionar o título "Autorization" e, em seu valor, a variável"bToken" de "JavaScrtipt";

Clique em "Salvar";

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

Salve as alterações;

Unir os nós;

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

Vamos copiar o conteúdo para ele, para que você encontre 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 especificados nos comentários do código;

Salvar

Vamos criar o nó "Solicitação HTTP": "+ Adicionar nó" => "Http" => "Solicitação HTTP";

Salve as alterações;

Unir os nós;

Vamos iniciar 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 adicionamos: /calendars/, depois substituímos a variável"targetCalendar.id" do "JavaScrtipt" pelo processamento da lista de calendários e, no final, adicionamos: /events;

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ó do primeiro "JavaScrtipt";

Vamos adicionar o cabeçalho "Autorization" e, em seu valor, a variável"bToken" do primeiro nó "JavaScrtipt";

Clique em "Salvar";

Unir 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 de toda a cadeia em Latenode , você terá a seguinte aparência:

Vejo você nos próximos artigos;

Links úteis:


Basic:

Latenode
Playground do Google OAuth 2.0

Informações:

API do Google Agenda
API do Google Agenda CalendarList: lista
Evento da API do Google Agenda: inserir

Blogs relacionados

Caso de uso

Com o apoio de