Google Meet > Apple Calendar



Na verdade não é bem um integração mas uma maneira de resolver o meu problema de esquecimento… 😬

Volta e meia, eu adiciono um compromisso no app de calendário do MacOS, e quando eu vejo, e normalmente bem na hora da call/meeting, tenho que sair correndo para criar a sala no Google Meet…

Tá eu sei que não é um “trabalhão”, mas o que eu vou explicar a seguir, além de ser muito legal, resolveu o meu problema ❤️

Sendo assim, vamos de Google Scripts!

Como diz no site, é a plataforma de integração e automação para os produtos da Google, baseado em JavaScript, sensacional!

Requisitos

-> Cadastro no site de developers, no link acima citado

-> Permitir o acesso de API em seu Calendário

-> Sua agenda no Google 😬

Passos

Acessando o site, você vai Criar um novo projeto, e inserir o código abaixo, dentro dos brackets da função myFunction, como no exemplo abaixo:

  var calendarId = '[email protected]';
  var now = new Date();
  var events = Calendar.Events.list(calendarId, {
    timeMin: now.toISOString(),
    singleEvents: true,
    orderBy: 'startTime',
    maxResults: 10
  });
  if (events.items && events.items.length > 0) {
    for (var i = 0; i < events.items.length; i++) {
      var event = events.items[i];
      if (!event.organizer.self) {
        continue;
      }
      if (event.summary.toLowerCase().indexOf("meet:") !== 0) {
        continue;
      }

      if (event.conferenceData && event.conferenceData.conferenceSolution
          && event.conferenceData.conferenceSolution.key
          && event.conferenceData.conferenceSolution.key.type) {
            continue;
      }

      Logger.log("Atualizando evento: %s (%s)", event.id, event.summary);

      var updatedEvent = Calendar.Events.patch({
        conferenceData: {
          createRequest: {
            conferenceSolutionKey: {
              type: "hangoutsMeet",
            },
            requestId: Utilities.getUuid(),
          },
        },
      }, calendarId, event.id, { conferenceDataVersion: 1 });
      Logger.log("Atualizado evento: %s", updatedEvent);
    }
  } else {
    Logger.log('Nenhum evento encontrado.');
  }

E conforme a imagem abaixo:


Como você pode observar na imagem, você vai configurar o seu email na variável calendarId… Este ID fica nas configurações da sua agenda, vide imagem:


Importante conferir antes de prosseguir… 😬

Outros dois aspectos importantes do script é que ele vai buscar no máximo 10 compromissos na sua agenda, vide variável maxResults: 10, você pode alterar ela se desejar… e ele também vai buscar pelo prefixo meet:, o compromisso que você esqueceu e quer que ele adicione a url da meeting, este prefixo você também pode alterar se desejar …

Próximo passo é criarmos um gatilho, para que ele seja acionado assim que houver um evento de update na sua agenda, e para isso clique no reloginho no menu do lado esquerdo e depois no botão “Adicionar Gatilho”, vide:


Preencha as informações e clique em “Salvar”, como no exemplo abaixo:


E para finalizarmos a configuração, precisamos dar acesso no Calendário, vide:


Feito isso .. crie um compromisso de teste no app Calendar.app no seu MacOS/Macbook e aguarde o seu update, em pouco tempo ele será atualizado como no exemplo abaixo:


E sucesso!

シ cya! 🎶🎶🎶

Última modificação: 14 April 2022