Вызов API для calendar.events.list завершился ошибкой: токен Syn c больше не действителен, требуется полный syn c. Что мне делать? - PullRequest
1 голос
/ 06 января 2020

Я получаю сообщение об ошибке, что syn c токен недействителен и требуется полный syn c. Что я должен добавить в код, чтобы исправить это?

  • Несколько событий календаря Google на листе Google с помощью Google Appscript

Я пытаюсь прочитать API Календаря Google, но не знаю, где изменить код.

Это часть кода для токена syn c.

function updateSyncToken(calendarId, syncToken) {
  var spreadsheetId = 'sheetID';
  if(calendarId == 'Cal1') {
    var range = 'Settings!B2';
  } else if(calendarId == 'Cal2') {
    var range = 'Settings!B3';
  } else if(calendarId == 'Cal3') {
    var range = 'Settings!B4';
  } else if(calendarId == 'Cal4') {
    var range = 'Settings!B5';
  } else if(calendarId == 'Cal5') {
    var range = 'Settings!B6';
  } else if(calendarId == 'Cal6') {
    var range = 'Settings!B7';
  } else if(calendarId == 'Cal7') {
    var range = 'Settings!B8';
  } else if(calendarId == 'Cal8') {
    var range = 'Settings!B9';
  } else if(calendarId == 'Cal9') {
    var range = 'Settings!B10';
  } else if(calendarId == 'Cal10') {
    var range = 'Settings!B11';
  } else {
    return
  }
  var values = [[syncToken]];

  var valueRange = Sheets.newRowData();
  valueRange.values = values;

  var appendRequest = Sheets.newAppendCellsRequest();
  appendRequest.sheetId = spreadsheetId;
  appendRequest.rows = [valueRange];

  var result = Sheets.Spreadsheets.Values.update(valueRange, spreadsheetId, range, {
    valueInputOption: 'RAW'
  });
}

function fetchEvents(calendarId, syncToken, sheetId) {
  var options = {
    syncToken: syncToken 
  }; 
  var response = Calendar.Events.list(calendarId, options);
  var events = response.items;
  if (events.length > 0) {
    updateSyncToken(calendarId, response.nextSyncToken)
    logEvents(events, sheetId);
  }
}

1 Ответ

0 голосов
/ 06 января 2020

Пожалуйста, обратитесь к документации .

Предлагаемое действие : Для параметров SyncToken или updatedMin очистите хранилище и повторите синхронизацию c. Подробнее см. Эффективная синхронизация ресурсов . Для уже удаленных событий дальнейшие действия не требуются.

Вы также можете найти больше литературы с этим ответом .

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