создать «бесплатное» событие в Календаре Google (вместо «занят» по умолчанию) - PullRequest
1 голос
/ 13 января 2020

Я использую следующий скрипт для создания календарных событий из списка дат на листе Google.

function CreateEvent() {

  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var calendarId = spreadsheet.getRange('E4').getValue();
  var eventCal = CalendarApp.getCalendarById(calendarId);
  //var signups = spreadsheet.getRange("A8:C12").getValues();
  var lr = spreadsheet.getLastRow();
  var count = spreadsheet.getRange("A8:F"+lr+"").getValues();

  for (x=0; x<count.length; x++) {

      var shift = count[x];
      var summary = shift[0];
      var startTime = shift[1];
      var endTime = shift[2];
      var guests = shift[3];
      //var description = shift[4];
      //var location = shift[5];

      var myEvent = eventCal.createEvent(summary, startTime, endTime, {transparency: 'transparent'});
      var myEventId = myEvent.getId();
      var myEventId = myEventId.slice(0,myEventId.length-11);

      spreadsheet.getRange("F8").offset(x, 0).setValue(myEventId);

      //makeEventFree(calendarId, myEventId);

  }
}

Я пытаюсь создать эти события с доступностью "бесплатно" вместо "занято" "или изменить событие на" свободное "после создания.
Следующее предложение больше не работает: Изменить событие Календаря Google Свободно / Занято с Calendar API

Любые идеи или предложения?

1 Ответ

1 голос
/ 13 января 2020

Похоже, вам нужен доступ к API Календаря (в разделе «Специальные сервисы» в скриптах приложения). Когда к событию обращаются через специальный сервис, ваш код должен выглядеть очень похоже на то, что указано в общем примере.

var changes = {
    transparency: "transparent"
  };
// This is the point where the api is accessed and your changes submitted.
Calendar.Events.patch(changes,calendarId,eventId);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...