Синхронизация Google Sheets с приложением календаря - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть скрипт ниже, и я получаю сообщение об ошибке «Не удается найти метод createEvent (число, строка, строка)».Я не могу понять, что не так.Есть идеи?

function createCalendarEvent() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;
  var numRows = sheet.getLastRow();
  var numColumns = sheet.getLastColumn();
  var dataRange = sheet.getRange(startRow, 1, numRows-1, numColumns);
  var data = dataRange.getValues();
  var complete = "Done";

    for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var aname = row[2]; //Agent
    var cname = row[3]; //Client Name
    var country = row[4]; //Client Country
    var phone = row[5]; //Phone Number
    var deposit = row[6]; //Type of Deposit
    var ewallet = row[7]; //Processor/eWallet
    var method = row[8]; //Deposit Method
    var amount = row[9]; //Amount/Percent
    var date = new Date(row[10]);  //Date of Next Contact
    var target = row[12]; //Target Amount
    var history = row[13]; //Deposit History incl. dates
    var currency = row[14]; //Currency
    var comments = row[15]; //Comments
    var stime = new Date (row[17]);
    var etime = new Date (row[18]);
    var added = row[19]; //Added to calendar

      if (added != complete) {
      var currentCell = sheet.getRange(startRow + i, numColumns);
      var event = CalendarApp.getDefaultCalendar().createEvent(cname, stime, etime);

      currentCell.setValue(complete)};
}
}

1 Ответ

1 голос
/ 20 сентября 2019

Эта ошибка означает, что он не может найти этот метод, возможно потому, что вы используете неправильные аргументы для функции createEvent(String,Date,Date) (см. Документацию здесь ).

Вы используете функцию createEvent(number,String,String), которой не существует.

Ваша первая переменная cname должна быть преобразована в строку, и вы также видите ошибку:и 3-й параметр в виде строки, в то время как они должны быть датами.Правильным решением было бы преобразовать starttime и endtime в дату, и это зависит от того, каков формат вашей строковой даты.

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