Недавно я начал получать сообщение об ошибке «Неожиданное исключение после сериализации продолжения» в электронной таблице Google Apps Script при попытке отладки. Ошибка, кажется, начинается после того, как я создал соединение с Google CloudSQL api. Эта ошибка сохраняется даже после комментирования конструктора объекта jdbc. Похоже, что у других была эта проблема, и для решения этой проблемы нужен Google Tech.Неожиданное исключение при сериализации продолжения Скриншот Google Apps
Я искал все доски обсуждений для решения этой проблемы без везения. Есть ли вероятность, что там есть технология Google, которая могла бы взглянуть под капотом для меня? Я бы опубликовал код, если бы мог определить, какая строка действительно вызывала ошибку.
EDIT:
Хорошо, я думаю, что я обнаружил, где встречающаяся ошибку. Кажется, что
var response = UrlFetchApp.fetch(url + nextPage,oauth_options);
в цикле while. Вот полный код функции.
function retrieveEvents(endTimeMinimum, updatedAfter, orderBy){
//var url = 'https://www.googleapis.com/calendar/v3/calendars/' + source_cal + '/events?key=' + api_key + "&futureevents=true&orderBy=updated&sortOrder=descending&updatedMin=" + last_sync_date_formated;
//var url = 'https://www.googleapis.com/calendar/v3/calendars/' + source_cal + '/events?key=' + api_key + "&orderBy=updated&sortOrder=descending&updatedMin=" + last_sync_date_formated;
var url = 'https://www.googleapis.com/calendar/v3/calendars/' + source_cal + '/events?key=' + api_key + "&singleEvents=true";
if ((orderBy != null) && (orderBy != "")){
url += "&orderBy=" + orderBy;
}
else url += "&orderBy=updated";
if ((updatedAfter != null) && (updatedAfter != "")){
url += "&updatedMin=" + updatedAfter;
}
else url += "&updatedMin=" + last_sync_dateTime;
//if no endTimeMinimum is specified, the current time will be used.
if (endTimeMinimum == null || endTimeMinimum == ""){
endTimeMinimum = date_rfc339("Today");
}
url += "&timeMin=" + endTimeMinimum;
Logger.log("Request URL:" + url);
var largeString = "";
var events = new Array();
var nextPage = "";
var jsonObj
while(true){
var response = UrlFetchApp.fetch(url + nextPage,oauth_options);
largeString = response.getContentText();
if ((largeString != null) && (largeString != "")) {
jsonObj = JSON.parse(largeString);
}
if ('items' in jsonObj) events = events.concat(jsonObj.items);
if ('nextPageToken' in jsonObj){
nextPage = "&pageToken=" + jsonObj.nextPageToken;
continue;
}
break;
}
if (events.length == 0)return null;
return events;
}
Предполагаю, вы видели этот вопрос? http://stackoverflow.com/questions/10954075/unexpected-exception-upon-serializing-continuation Похоже, вам нужно активировать всплывающее окно авторизации, потому что ваш сценарий в настоящее время не разрешен. –
Привет, Фил. Да, я видел эту нить. Мне удалось удалить вызов urlfetchapp.fetch из списка виновников (или, по крайней мере, я могу пройти мимо этой строки кода и получить всплывающее окно ошибки в другом месте.) – user2085215