Gerenciar locais de trabalho

No Google Agenda, os usuários podem especificar um local de trabalho para que as pessoas saibam o local ao enviar convites para um evento. Esse recurso está disponível apenas para alguns usuários do Google Agenda. Veja mais detalhes em Ativar ou desativar o local de trabalho para os usuários.

Ler locais de trabalho do usuário

É possível ler os locais de trabalho do usuário no recurso Events da API Calendar.

Para listar eventos de local de trabalho, use o método events.list, especificando ['workingLocation'] no campo eventTypes. Em seguida, nos objetos Event retornados, inspecione que o campo eventType tem o valor 'workingLocation' e consulte o campo workingLocationProperties para ver detalhes sobre o local de trabalho definido pelo usuário no Google Agenda.

Observação:a capacidade de adicionar ou atualizar locais de trabalho ainda está em desenvolvimento. No momento, o horário de trabalho não pode ser gerenciado de forma programática.

Amostra de código do Google Apps Script

O Google Apps Script é uma linguagem de script em nuvem baseada em JavaScript que permite criar aplicativos de negócios simples que se integram ao Google Workspace. Os scripts são desenvolvidos em um editor de código baseado em navegador e armazenados e executados nos servidores do Google. Consulte também o Guia de início rápido do Google Apps Script para começar a usar o Apps Script para enviar solicitações à API Google Calendar.

As instruções a seguir descrevem como ler locais de trabalho usando a API Google Calendar como um serviço avançado no Google Apps Script. Para ver uma lista completa dos recursos e métodos da API Google Calendar, consulte a documentação de referência.

Criar o script

  1. Crie um script em script.google.com/create.

Ativar a API Google Calendar

  1. No painel à esquerda ao lado de Serviços, clique em Adicionar um serviço .
  2. Selecione API Google Calendar e clique em Adicionar.
  3. Depois de ativada, a API aparece no painel esquerdo. As classes e os métodos disponíveis na API podem ser listados usando a palavra-chave Calendar no editor.

Atualizar o projeto do Google Cloud

A capacidade de ler locais de trabalho só está disponível para projetos do Google Cloud no Programa de prévia para desenvolvedores. Você precisa atualizar o número do projeto do Google Cloud no projeto do Apps Script para recuperar eventos de local de trabalho.

  1. No lado esquerdo do editor, clique em Configurações do projeto .
  2. Em Projeto do Google Cloud Platform (GCP), clique em Alterar projeto.
  3. Digite o número do projeto do Google Cloud que está no Programa de prévia para desenvolvedores e clique em Definir projeto.
  4. No lado esquerdo, selecione Editor para voltar ao editor de código.

Executar o script para ler os locais de trabalho

O exemplo de código a seguir mostra como ler eventos de local de trabalho na sua agenda.

  1. Cole o seguinte no editor de script.

    /**
     * Lists working location events for given dates.
     * See https://developers.google.com/calendar/api/v3/reference/events/list
     */
    function listWorkingLocationEvents() {
      const calendarId = 'primary'
    
      // Query parameters for the list request.
      const optionalArgs = {
          eventTypes: ['workingLocation'],
          showDeleted: false,
          singleEvents: true,
          timeMax: '2023-04-01T00:00:00+01:00',
          timeMin: '2023-03-27T00:00:00+01:00',
        }
      try {
      var response = Calendar.Events.list(calendarId, optionalArgs );
      response.items.forEach(event =>
          console.log('%s: %s', event.start.date, parseWorkingLocation(event)));
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /**
     * Reads the working location event with the given eventId.
     * See https://developers.google.com/calendar/api/v3/reference/events/get
     */
    function readWorkingLocationEvent() {
      const calendarId = 'primary';
    
      // Replace with a valid eventId.
      const eventId = "sample-event-id";
    
      try {
        const event = Calendar.Events.get(calendarId, eventId);
        console.log('%s: %s', event.start.date, parseWorkingLocation(event));
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /**
     * Parses working location properties of an event into a string.
     * See https://developers.google.com/calendar/api/v3/reference/events#resource
     */
    function parseWorkingLocation(event) {
      if(event.eventType != "workingLocation") {
        throw new Error("'" +  event.summary +"' is not a working location event.");
      }
      const workingLocation = event.workingLocationProperties;
      if (workingLocation) {
        if (workingLocation.homeOffice) {
          return 'Home';
        }
        if (workingLocation.officeLocation) {
          return workingLocation.officeLocation.label;
        }
        if (workingLocation.customLocation) {
          return workingLocation.customLocation.label;
        }
      }
      return 'No Location';
    }
    
  2. Acima do editor de código, selecione a função a ser executada no menu suspenso e clique em Run.

  3. Na primeira execução, é necessário autorizar o acesso. Revise e permita que o Apps Script acesse sua agenda.

  4. É possível inspecionar os resultados da execução do script no Registro de execução que aparece na parte inferior da janela.