Управление рабочими местами

В Календаре Google пользователи могут указать рабочее местоположение , чтобы люди знали свое местоположение при отправке приглашений на мероприятие. Эта функция доступна только для некоторых пользователей Календаря Google. Дополнительные сведения см. в разделе Включение и отключение рабочего местоположения для пользователей .

Чтение рабочих мест пользователей

Вы можете прочитать рабочие места пользователей в ресурсе Events API календаря.

Чтобы вывести список событий рабочего местоположения, используйте метод events.list , указав ['workingLocation'] в поле eventTypes . Затем в возвращаемых объектах Event убедитесь, что поле eventType имеет значение 'workingLocation' , и обратитесь к полю workingLocationProperties для получения подробной информации о рабочем местоположении, заданном пользователем в Календаре Google.

Примечание. Возможность добавления или обновления рабочих мест все еще находится в разработке. Рабочее время в настоящее время не может управляться программно.

Пример кода скрипта Google Apps

Google Apps Script — это язык облачных сценариев на основе JavaScript, который позволяет создавать простые бизнес-приложения, интегрируемые с Google Workspace. Скрипты разрабатываются в браузерном редакторе кода, хранятся и запускаются на серверах Google. См. также краткое руководство по скрипту Google Apps , чтобы начать использовать скрипт Apps для отправки запросов в API календаря Google.

В следующих инструкциях описывается, как считывать рабочие местоположения с помощью API Календаря Google в качестве расширенной службы в скрипте Google Apps. Полный список ресурсов и методов Google Calendar API см. в справочной документации .

Создать скрипт

  1. Создайте сценарий, перейдя на script.google.com/create .

Включить API Календаря Google

  1. На левой панели рядом с пунктом «Службы» нажмите « службу».
  2. Выберите Google Calendar API и нажмите Добавить .
  3. После включения API отображается на левой панели. Доступные методы и классы в API можно перечислить с помощью ключевого слова Calendar в редакторе.

Обновите проект Google Cloud

Возможность считывания рабочих местоположений доступна только для проектов Google Cloud в Программе предварительного просмотра для разработчиков . Вам необходимо обновить номер проекта Google Cloud проекта Apps Script, чтобы получать события рабочего местоположения.

  1. В левой части редактора нажмите проекта .
  2. В разделе Проект Google Cloud Platform (GCP) нажмите Изменить проект .
  3. Введите номер проекта Google Cloud, который находится в программе предварительной версии для разработчиков, и нажмите «Установить проект» .
  4. С левой стороны выберите редактора, чтобы вернуться к редактору кода.

Запустите скрипт для чтения рабочих мест

В следующем примере кода показано, как считывать события рабочего местоположения в календаре.

  1. Вставьте следующее в редактор скриптов.

    /**
     * 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. Над редактором кода выберите функцию для запуска в раскрывающемся меню и нажмите «Выполнить» .

  3. При первом выполнении он предлагает вам авторизовать доступ. Проверьте и разрешите Apps Script доступ к вашему календарю.

  4. Вы можете проверить результаты выполнения скрипта в журнале выполнения , который появляется в нижней части окна.