проверьте, существует ли событие, прежде чем добавлять его из листа Google в календарь - PullRequest
2 голосов
/ 06 марта 2019

У меня есть скрипт, который обновляет календарь с листа. Есть ли способ получить eventID события, которое я бы добавил в календарь, если бы его не было?

с каким идентификатором события будет создано (заголовок, начало, остановка)

Затем я могу сравнить его с идентификаторами событий существующих событий и добавить, если их там еще нет. я думаю, что это было бы быстрее, чем проверка существующих событий на соответствие всем свойствам перед добавлением нового или просто переходом на

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Это можно сделать, но это займет немного работы.

Идентификаторы событий генерируются автоматически по умолчанию. Однако вы можете создавать собственные идентификаторы для события, если они соответствуют требованиям формата Google .Таким образом, вам придется самостоятельно управлять генерацией этих идентификаторов событий.

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

Если у вас есть какой-то способ генерации уникального идентификатора, вы можете использовать его для извлечения события напрямую по идентификатору, но вы должны использовать Advanced Calendar Service (встроенная службане разрешает поиск по идентификатору события, но разрешает поиск по iCalUID).

0 голосов
/ 06 марта 2019

Я не думаю, что идентификаторы работают так, как вы, кажется, думаете, что они работают (как своего рода хэш информации внутри них).Можете ли вы проверить дату, которую вы хотите для названия вы хотите?Я думаю, что этого будет достаточно.

Это сценарий, с которого вы можете начать, он обнаруживает следующий случай «Образца собрания» в течение следующих 20 дней.Вы можете легко сузить область действия до одного дня, а затем добавить «другое», которое создает новую встречу.

function insertItem() {


      var fromDate = new Date(); //This is Today
      var toDate = new Date();
      toDate.setDate(toDate.getDate()+20);
      Logger.log("From "+fromDate+" to "+toDate);
   var calendar = CalendarApp.getDefaultCalendar();
  var events = calendar.getEvents(fromDate, toDate);


  for(var i=0; i<events.length;i++)
    {
      var ev = events[i];
      var title = calendar.getEventSeriesById(ev.getId()).getTitle();


      if (title.indexOf("Sample Meeting")>-1){
        var start = ev.getStartTime();
        Logger.log("Found Team Meeting");

          var id = ev.getId();
          var date = ev.getStartTime();
          var desc = ev.getDescription();


          return;

          }


    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...