Nieoczekiwany wyjątek przy serializowaniu kontynuacji Google Apps Script

Niedawno zacząłem otrzymywać błąd „Nieoczekiwany wyjątek podczas kontynuowania serializacji” w arkuszu kalkulacyjnym Google Apps Script podczas próby debugowania. Błąd wydaje się zaczynać po utworzeniu połączenia z api Google CloudSQL. Ten błąd nadal występuje nawet po skomentowaniu konstruktora obiektów jdbc. Wygląda na to, że inni mieli ten problem i potrzebowali Google Tech, aby rozwiązać ten problem.

Przeszukałem wszystkie fora dyskusyjne pod kątem rozwiązania tego problemu bez powodzenia. Czy istnieje jakaś technika Google, która mogłaby dla mnie rzucić okiem? Chciałbym napisać kod, gdybym mógł określić, która linia faktycznie wywołała błąd.

EDYTOWAĆ:

Ok, myślę, że odkryłem, gdzie występuje błąd. Wydaje się być

var response = UrlFetchApp.fetch(url + nextPage,oauth_options);

w pętli while. Oto cały kod funkcji.

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;
 }

questionAnswers(2)

yourAnswerToTheQuestion