Google Apps Script : 서버에 오류가 발생했습니다. 나중에 다시 시도

더블 D84

나는 갇혀있다 .. 오류가 @ 줄 63 및 때로는 50 줄에 throw됩니다. 둘 다 appendTableRow () 메서드를 사용합니다. 나는 잘못된 것을 찾을 수 없습니다.

row3.appendTableCell(entryDesc)

생성 된 파일 링크 : 링크

실행 기록 : 링크

나는 새롭기 때문에 "나쁜 관행"을 발견하면 자유롭게 손가락을 조준하십시오.

    // Import data from the Calendar to the timesheet document
    function importDataToTS (dateStart,dateFinish,doc) {
      if (!dateStart) {
        var dateStart = new Date('January 1, 2014');
      }
      var cal = CalendarApp.getCalendarById('[email protected]')
      var events = cal.getEvents(dateStart, dateFinish);
      var oldDate = new Date(dateStart.getFullYear(), dateStart.getMonth(), dateStart.getDate() - 1);
      var paragraph = "";
      var totalHoursWorked = 0

      // START --- Text element styles
      // Date
      var entryDateStyle = {};
        entryDateStyle[DocumentApp.Attribute.BOLD] = true;
        entryDateStyle[DocumentApp.Attribute.FONT_SIZE] = 18;
      // Title
      var entryTitleStyle = {};
        entryTitleStyle[DocumentApp.Attribute.FONT_SIZE] = 14;
      // entryTimes
      var entryTimesStyle = {};
        entryTimesStyle[DocumentApp.Attribute.BOLD] = true;
        entryTimesStyle[DocumentApp.Attribute.FONT_SIZE] = 12;
      // entryDescription
      var entryDescriptionStyle = {};
        entryDescriptionStyle[DocumentApp.Attribute.ITALIC] = true;
        entryDescriptionStyle[DocumentApp.Attribute.FONT_SIZE] = 10;
      // END --- Text element styles 
      var entriesTable = doc.appendTable();
      Logger.log(entriesTable.getType());

      for (var i = 0; i in events; i++) {
    var entryDate = events[i].getStartTime();
    if (i > 0) {
      oldDate = (events[i-1].getStartTime());
    }
    // If it's a new day add a full width cell
    if (entryDate.getDate() > oldDate.getDate()) {   
      var row1 = entriesTable.appendTableRow();
      row1.appendTableCell(shortDate(entryDate,4));
        //.setAttributes(entryDateStyle);
    }

    // Add title, start/end times & hours worked
     // Add title, start/end times & hours worked
    var entryTitle = events[i].getTitle();
    Logger.log(i + ": " + entryTitle);
    var entryTimes = shortTime(events[i].getStartTime(),2) + " - " + shortTime(events[i].getEndTime(),2);
    Logger.log(i + ": " + entryTimes);
    var entryHoursWorked = ((events[i].getEndTime() - events[i].getStartTime())/(1000*60*60)%24) + "hr(s)";
    Logger.log(i + ": " + entryHoursWorked);
    var row2 = entriesTable.appendTableRow();
    row2.appendTableCell(entryTitle);
      //.setAttributes(entryTitleStyle);
    row2.appendTableCell(entryTimes + "\t\t" + entryHoursWorked);
      //.setAttributes(entryTimesStyle);


    // Add entry description
    var entryDesc = (events[i].getDescription().length > 1) ? events[i].getDescription().toString() : "";

    if (entryDesc.length > 1) { 
      var row3 = entriesTable.appendTableRow();
      row3.appendTableCell();
      row3.appendTableCell(entryDesc);
        //.setAttributes(entryDescriptionStyle);
    }

    totalHoursWorked += entryHoursWorked;
    if (i === (events.length - 1)) {
      var lastRow = entriesTable.appendTableRow(); 
      lastRow.appendTableCell("Total Hours: " + totalHoursWorked);
    }
  }
  for (var i = 0; i in entriesTable; i++) { 
    for (var j = 0; j in entriesTable[i]; j++) {
      Logger.log(i + ":" + j + " " + entriesTable[i][j].toString());
    }
  }

      doc.appendTable(entriesTable);
    }

shortDate () && shorttTime ()

function shortDate(date,n) {
  // Returns a date object as "MMMDD";
    if (date) {
      switch (n) {
        case 1:
          //Jul6
          return Utilities.formatDate(date, "EST", "MMMdd")
          break;
        case 2:
          //Jul 6
          return Utilities.formatDate(date, "EST", "MMM dd")
          break;
        case 3:
          //July 6
          return Utilities.formatDate(date, "EST", "MMMM dd")
          break;
        case 4:
          return Utilities.formatDate(date, "EST", "EEE, MMM dd")
          break;
        default:
          //Full Date unchanged
          return date;
      }
    }
}

function shortTime(date) {
  //Returns time string formatted as "hh:mm"am/pm
  //Still needs to be updated with Utilities.formatDate
  if (date) {
    var hours = (date.getHours() > 12) ? (date.getHours() - 12) : date.getHours();
    var ampm = (date.getHours() > 12) ? "pm" : "am";
    var minutes = (date.getMinutes() == 0) ? "00" : date.getMinutes();
    var time = hours + ":" + minutes + ampm
    return time.toString();
  }
}
Serge insas

완전한 답은 없지만 그동안 이벤트 설명없이 작동하는 버전을 보여주는 것이 흥미로울 것이라고 생각했습니다.

작동하지 않는 총 시간 계산을 변경했습니다.

테스트 기능을 사용하여 모든 기본 달력에서 코드를 테스트 할 수 있습니다.

function test(){
//dateStart,dateFinish,doc
  var doc = DocumentApp.getActiveDocument();
  var dateStart = new Date('January 1, 2014');
  var dateFinish = new Date('April 1, 2014')
  importDataToTS (dateStart,dateFinish,doc);
}



function importDataToTS (dateStart,dateFinish,doc) {
  if (!dateStart) {
    var dateStart = new Date('January 1, 2014');
  }
  var cal = CalendarApp.getDefaultCalendar();
  var events = cal.getEvents(dateStart, dateFinish);
  var oldDate = new Date(dateStart.getFullYear(), dateStart.getMonth(), dateStart.getDate() - 1);
  var paragraph = "";
  var totalHoursWorked = 0

  // START --- Text element styles
  // Date
  var entryDateStyle = {};
    entryDateStyle[DocumentApp.Attribute.BOLD] = true;
    entryDateStyle[DocumentApp.Attribute.FONT_SIZE] = 18;
  // Title
  var entryTitleStyle = {};
    entryTitleStyle[DocumentApp.Attribute.FONT_SIZE] = 14;
  // entryTimes
  var entryTimesStyle = {};
    entryTimesStyle[DocumentApp.Attribute.BOLD] = true;
    entryTimesStyle[DocumentApp.Attribute.FONT_SIZE] = 12;
  // entryDescription
  var entryDescriptionStyle = {};
    entryDescriptionStyle[DocumentApp.Attribute.ITALIC] = true;
    entryDescriptionStyle[DocumentApp.Attribute.FONT_SIZE] = 10;
  // END --- Text element styles 
  var entriesTable = doc.appendTable();
  Logger.log('events.length = '+events.length);

  for (var i = 0; i <events.length; i++) {
    var entryDate = events[i].getStartTime();
    if (i > 0) {
      oldDate = (events[i-1].getStartTime());
    }
      Logger.log('i = '+i);
    // If it's a new day add a full width cell
    if (entryDate.getDate() > oldDate.getDate()) {   
      var row1 = entriesTable.appendTableRow();
      row1.appendTableCell(shortDate(entryDate,4))
        .setAttributes(entryDateStyle);
    }

    // Add title, start/end times & hours worked
    var entryTitle = events[i].getTitle();
    var entryTimes = shortTime(events[i].getStartTime(),2) + " - " + shortTime(events[i].getEndTime(),2);
    var entryHoursWorked = (events[i].getEndTime().getTime() - events[i].getStartTime().getTime())/(1000*60*60) + "hr(s)";
    var row2 = entriesTable.appendTableRow();
    row2.appendTableCell(entryTitle)
      .setAttributes(entryTitleStyle);
    row2.appendTableCell(entryTimes + "\t\t" + entryHoursWorked)
      .setAttributes(entryTimesStyle);


    // Add entry description
    var entryDesc = (events[i].getDescription().length > 2) ? events[i].getDescription() : "";


    totalHoursWorked += Number(entryHoursWorked.replace(/\D/g,''));
    if (i === (events.length - 1)) {
      var lastRow = entriesTable.appendTableRow(); 
      lastRow.appendTableCell("Total Hours: " + totalHoursWorked+' Hours');
    }
  }
  for (var i = 0; i in entriesTable; i++) { 
    for (var j = 0; j in entriesTable[i]; j++) {
      Logger.log(i + ":" + j + " " + entriesTable[i][j].toString());
    }
  }

  doc.saveAndClose();
} 

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Google 사이트의 Apps Script 가젯에서 CORS 오류가 발생하기 시작했습니다.

분류에서Dev

Google Apps Script 웹 앱에서 Google Visualization API를 사용하여 GSheet 범위를 표시하는 중에 오류가 발생했습니다.

분류에서Dev

Googel Apps Script 테스트 배포- "죄송합니다. 서버 오류가 발생했습니다. 잠시 후 다시 시도하십시오."

분류에서Dev

Google Play에 앱을 게시하는 중에 오류가 발생했습니다.

분류에서Dev

인증 중에 오류가 발생했습니다. 나중에 다시 시도해주세요 : Python Social Auth LinkedIn

분류에서Dev

LINE 본인 확인 : "오류가 발생했습니다. 나중에 다시 시도해주세요."

분류에서Dev

Google API ()에서 거리 및 이동 시간 값을 검색하는 중에 오류가 발생했습니다.

분류에서Dev

기본 인증을 사용하는 Google Apps Script의 UrlFetchApp.fetch에서 예기치 않은 오류가 발생했습니다.

분류에서Dev

Google Apps Script 오류-Google 스프레드 시트에 여러 행이 있지만 Google 드라이브에는 하나의 파일 만 있습니다. "반복자가 끝에 도달했습니다."

분류에서Dev

피드에 Facebook Javascript SDK 게시물에 "오류가 발생했습니다. 나중에 시도하십시오"오류가 표시됨

분류에서Dev

Facebook Graph API 오류 "예기치 않은 오류가 발생했습니다. 나중에 요청을 다시 시도하십시오."

분류에서Dev

Google App Script를 통해 Firestore에서 문서를 생성하는 동안 오류가 발생했습니다.

분류에서Dev

Android OAUTH 클라이언트 생성 실패 : "예기치 않은 오류가 발생했습니다. 나중에 다시 시도하십시오. (4800001)"

분류에서Dev

Google PubSub에 메시지를 게시하는 동안 StatusCode.PERMISSION_DENIED 오류가 발생했습니다.

분류에서Dev

Postman을 사용하여 노드 서버에 게시하는 중에 오류가 발생했습니다.

분류에서Dev

Google 시트에 이메일을 쓰는 동안 오류가 발생했습니다.

분류에서Dev

Maven Surefire : 포크를 시작하는 중에 오류가 발생했습니다.

분류에서Dev

서버에서 Access-Control-Allow-Origin을 설정 했는데도 Google Firebase 함수에 CORS 오류가 발생했습니다.

분류에서Dev

Google colab에서 osmnx 가져 오기 오류가 발생했습니다.

분류에서Dev

Google Apps Script에서 시트 ID를 가져올 수 없습니다.

분류에서Dev

JList에서 다른 JList로 getSelectedValue ()를 시도 할 때 오류가 발생했습니다.

분류에서Dev

Spring Framework에서 생성자 주입을 시도하는 동안 오류가 발생했습니다.

분류에서Dev

Tensorflow로 객체 감지를 구현하려고 시도하는 중에 오류가 발생했습니다.

분류에서Dev

Heroku에서 Rails 앱을 푸시하고 js 오류가 발생했습니다.

분류에서Dev

두 개의 SQL 문을 추가하려고 시도하고 SELECT 문에서 오류가 발생했습니다.

분류에서Dev

PHP로 Google 도서 JSON API를 구문 분석하는 중 오류가 발생했습니다.

분류에서Dev

Rails의 Ruby에서 서버를 시작하는 동안 오류가 발생했습니다.

분류에서Dev

Docker Centos 내에서 Tomcat 서버를 시작하는 동안 오류가 발생했습니다.

분류에서Dev

Azure 서버에 "시스템에 버퍼 공간이 부족하거나 큐가 가득 차서 Ip가 찼기 때문에"오류가 발생했습니다.

Related 관련 기사

  1. 1

    Google 사이트의 Apps Script 가젯에서 CORS 오류가 발생하기 시작했습니다.

  2. 2

    Google Apps Script 웹 앱에서 Google Visualization API를 사용하여 GSheet 범위를 표시하는 중에 오류가 발생했습니다.

  3. 3

    Googel Apps Script 테스트 배포- "죄송합니다. 서버 오류가 발생했습니다. 잠시 후 다시 시도하십시오."

  4. 4

    Google Play에 앱을 게시하는 중에 오류가 발생했습니다.

  5. 5

    인증 중에 오류가 발생했습니다. 나중에 다시 시도해주세요 : Python Social Auth LinkedIn

  6. 6

    LINE 본인 확인 : "오류가 발생했습니다. 나중에 다시 시도해주세요."

  7. 7

    Google API ()에서 거리 및 이동 시간 값을 검색하는 중에 오류가 발생했습니다.

  8. 8

    기본 인증을 사용하는 Google Apps Script의 UrlFetchApp.fetch에서 예기치 않은 오류가 발생했습니다.

  9. 9

    Google Apps Script 오류-Google 스프레드 시트에 여러 행이 있지만 Google 드라이브에는 하나의 파일 만 있습니다. "반복자가 끝에 도달했습니다."

  10. 10

    피드에 Facebook Javascript SDK 게시물에 "오류가 발생했습니다. 나중에 시도하십시오"오류가 표시됨

  11. 11

    Facebook Graph API 오류 "예기치 않은 오류가 발생했습니다. 나중에 요청을 다시 시도하십시오."

  12. 12

    Google App Script를 통해 Firestore에서 문서를 생성하는 동안 오류가 발생했습니다.

  13. 13

    Android OAUTH 클라이언트 생성 실패 : "예기치 않은 오류가 발생했습니다. 나중에 다시 시도하십시오. (4800001)"

  14. 14

    Google PubSub에 메시지를 게시하는 동안 StatusCode.PERMISSION_DENIED 오류가 발생했습니다.

  15. 15

    Postman을 사용하여 노드 서버에 게시하는 중에 오류가 발생했습니다.

  16. 16

    Google 시트에 이메일을 쓰는 동안 오류가 발생했습니다.

  17. 17

    Maven Surefire : 포크를 시작하는 중에 오류가 발생했습니다.

  18. 18

    서버에서 Access-Control-Allow-Origin을 설정 했는데도 Google Firebase 함수에 CORS 오류가 발생했습니다.

  19. 19

    Google colab에서 osmnx 가져 오기 오류가 발생했습니다.

  20. 20

    Google Apps Script에서 시트 ID를 가져올 수 없습니다.

  21. 21

    JList에서 다른 JList로 getSelectedValue ()를 시도 할 때 오류가 발생했습니다.

  22. 22

    Spring Framework에서 생성자 주입을 시도하는 동안 오류가 발생했습니다.

  23. 23

    Tensorflow로 객체 감지를 구현하려고 시도하는 중에 오류가 발생했습니다.

  24. 24

    Heroku에서 Rails 앱을 푸시하고 js 오류가 발생했습니다.

  25. 25

    두 개의 SQL 문을 추가하려고 시도하고 SELECT 문에서 오류가 발생했습니다.

  26. 26

    PHP로 Google 도서 JSON API를 구문 분석하는 중 오류가 발생했습니다.

  27. 27

    Rails의 Ruby에서 서버를 시작하는 동안 오류가 발생했습니다.

  28. 28

    Docker Centos 내에서 Tomcat 서버를 시작하는 동안 오류가 발생했습니다.

  29. 29

    Azure 서버에 "시스템에 버퍼 공간이 부족하거나 큐가 가득 차서 Ip가 찼기 때문에"오류가 발생했습니다.

뜨겁다태그

보관