安静.hashCode()脚本死亡(GAS) [英] Quiet .hashCode() death of a script (GAS)

查看:104
本文介绍了安静.hashCode()脚本死亡(GAS)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个相对简单的脚本,有时和某些用户(但从来没有为所有者到目前为止)生成以下执行脚本(已删除脚本):

  [14-02-11 14:34:47:418 CET] Range.setValues([[[prg:some-string,2014.02.11。14:34:47]]]] )[0秒] 
[14-02-11 14:34:47:642 CET] SpreadsheetApp.flush()[0.224 seconds]
[14-02-11 14:34:47:642 CET] Browser.msgBox([String ....- ot。])[0 seconds]
[14-02-11 14:34:47:647 CET] Browser.hashCode()[0 seconds]
[14-02-11 14:34:47:669 CET] CacheService.hashCode()[0 seconds]
[14-02-11 14:34:47:670 CET] CalendarApp.hashCode )[0秒]
[14-02-11 14:34:47:670 CET] Charts.hashCode()[0秒]
[14-02-11 14:34:47:672 CET] ContactsApp.hashCode()[0 seconds]
[14-02-11 14:34:47:672 CET] ContentService.hashCode()[0 seconds]
[14-02-11 14 :34:47:673 CET] DocsList.hashCode()[0 seconds]
[14-02-11 14:34:47:673 CET] DocumentApp.hashCode()[0 seconds]
[ 14-02-11 14:34:47:675 CET] DriveApp.hashCode()[0 seconds]
[14-02-11 14:34:47:675 CET] FinanceApp.hashCode()[0 seconds ]
[14-02-11 14:34:47:676 CET] FormApp.hashCode()[0秒]
[14-02-11 14:34:47:677 CET] GmailApp。 hashCode()[0秒]
[14-02-11 14:34:47:678 CET] GroupsApp.hashCode()[0秒]
[14-02-11 14:34:47 :679 CET] GroupsManager.hashCode()[0 seconds]
[14-02-11 14:34:47:679 CET] HtmlService.hashCode()[0 seconds]
[14-02- 11 14:34:47:680 CET] Jdbc.hashCode()[0秒]
[14-02-11 14:34:47:681 CET] LanguageApp.hashCode()[0 seconds]
[14-02-11 14:34:47:681 CET] LockService.hashCode()[0 seconds]
[14-02-11 14:34:47:682 CET] Logger.hashCode()[ 0秒]
[14-02-11 14:34:47:685 CET] MailApp.hashCode()[0秒]
[14-02-11 14:34:47:685 CET] Maps.hashCode()[0秒]
[14-02-11 14:34:47:685 CET] NicknameManager.hashCode()[0 seconds]
[14-02-11 14:34 :47:685 CET] ScriptApp.hashCode()[0秒]
[14-02-11 14: 34:47:687 CET] ScriptDb.hashCode()[0 seconds]
[14-02-11 14:34:47:687 CET] ScriptProperties.hashCode()[0 seconds]
[14 -02-11 14:34:47:687 CET] Session.hashCode()[0 seconds]
[14-02-11 14:34:47:688 CET] SitesApp.hashCode()[0 seconds]
[14-02-11 14:34:47:688 CET] SoapService.hashCode()[0 seconds]
[14-02-11 14:34:47:689 CET] SpreadsheetApp.hashCode ()[0 seconds]
[14-02-11 14:34:47:689 CET] UiApp.hashCode()[0 seconds]
[14-02-11 14:34:47: 691 CET] UrlFetchApp.hashCode()[0 seconds]
[14-02-11 14:34:47:691 CET] UserManager.hashCode()[0 seconds]
[14-02-11 14:34:47:691 CET] UserProperties.hashCode()[0 seconds]
[14-02-11 14:34:47:691 CET] Utilities.hashCode()[0 seconds]
[14-02-11 14:34:47:692 CET] Xml.hashCode()[0 seconds]
[14-02-11 14:34:47:692 CET] XmlService.hashCode()[0秒]
[14-02-11 14:34:47:696 CET] Spreadsheet.hashCode()[0 seconds]
[14-02-11 14:34:47:696 CET]范围.hashCode()[0秒]
[14-02-11 14:34 :48:696 CET] Range.hashCode()[0 seconds]
[14-02-11 14:34:47:696 CET] User.hashCode()[0 seconds]
[14- 02-11 14:34:47:696 CET] User.hashCode()[0 seconds]
[14-02-11 14:34:47:696 CET] Sheet.hashCode()[0 seconds]
[14-02-11 14:34:47:697 CET] Sheet.hashCode()[0 seconds]
[14-02-11 14:34:47:697 CET] Sheet.hashCode )[0秒]

请注意,成绩单不会按惯例执行成功/执行失败的消息。这是整个成绩单的最后一部分。



有什么可能引发这种情况?



这里是相关的部分脚本:

  var paymentRow2 = [
prg:+ event.user.getEmail(),
Utilities.formatDate(new Date(),CET,yyyy.MM.dd. HH:mm:ss)
];
paymentSheet.getRange(paymentRowToWrite,1,paymentRow.length).setValues([paymentRow]);
paymentSheet.getRange(paymentRowToWrite,10,1,paymentRow2.length).setValues([paymentRow2]);
SpreadsheetApp.flush();
Browser.msgBox(String+ dateAmount +-ot。);
//
//在这里死亡 - 似乎总是在Browser.msgBox()之后发生
//
if(repeatingPayment){
if(inputRow [0 ]!=Hetente){
sheet.getRange(modifiedRowNum,7,1,5).setValues([[,,,,]]);
}
undoCommand(event); ((dateAmount == totalAmount)||(!GeneralUtil.isNumber(totalAmount))){
sheet.deleteRow(modifiedRowNum);
} else
if
} else {
sheet.getRange(modifiedRowNum,5,1,7).setValues([[Math.round(totalAmount - dateAmount),inputRow [5],,, ]]);
undoCommand(event);
}
break;

有什么建议?

谢谢。 / b>

解决方案

这是否描述了您的问题?

https://code.google.com/p/google-apps-脚本问题/问题/详细信息?id = 2697



tl:dr脚本使用onEdit触发器会在每个人都调用Browser.msgBox后自动失败,所有者。


I have a relatively simple script that sometimes and for some users (but never for the owner so far) produces the following execution transcript (beginning of script removed):

[14-02-11 14:34:47:418 CET] Range.setValues([[[prg:some-string, 2014.02.11. 14:34:47]]]) [0 seconds]
[14-02-11 14:34:47:642 CET] SpreadsheetApp.flush() [0.224 seconds]
[14-02-11 14:34:47:642 CET] Browser.msgBox([String ....-ot.]) [0 seconds]
[14-02-11 14:34:47:647 CET] Browser.hashCode() [0 seconds]
[14-02-11 14:34:47:669 CET] CacheService.hashCode() [0 seconds]
[14-02-11 14:34:47:670 CET] CalendarApp.hashCode() [0 seconds]
[14-02-11 14:34:47:670 CET] Charts.hashCode() [0 seconds]
[14-02-11 14:34:47:672 CET] ContactsApp.hashCode() [0 seconds]
[14-02-11 14:34:47:672 CET] ContentService.hashCode() [0 seconds]
[14-02-11 14:34:47:673 CET] DocsList.hashCode() [0 seconds]
[14-02-11 14:34:47:673 CET] DocumentApp.hashCode() [0 seconds]
[14-02-11 14:34:47:675 CET] DriveApp.hashCode() [0 seconds]
[14-02-11 14:34:47:675 CET] FinanceApp.hashCode() [0 seconds]
[14-02-11 14:34:47:676 CET] FormApp.hashCode() [0 seconds]
[14-02-11 14:34:47:677 CET] GmailApp.hashCode() [0 seconds]
[14-02-11 14:34:47:678 CET] GroupsApp.hashCode() [0 seconds]
[14-02-11 14:34:47:679 CET] GroupsManager.hashCode() [0 seconds]
[14-02-11 14:34:47:679 CET] HtmlService.hashCode() [0 seconds]
[14-02-11 14:34:47:680 CET] Jdbc.hashCode() [0 seconds]
[14-02-11 14:34:47:681 CET] LanguageApp.hashCode() [0 seconds]
[14-02-11 14:34:47:681 CET] LockService.hashCode() [0 seconds]
[14-02-11 14:34:47:682 CET] Logger.hashCode() [0 seconds]
[14-02-11 14:34:47:685 CET] MailApp.hashCode() [0 seconds]
[14-02-11 14:34:47:685 CET] Maps.hashCode() [0 seconds]
[14-02-11 14:34:47:685 CET] NicknameManager.hashCode() [0 seconds]
[14-02-11 14:34:47:685 CET] ScriptApp.hashCode() [0 seconds]
[14-02-11 14:34:47:687 CET] ScriptDb.hashCode() [0 seconds]
[14-02-11 14:34:47:687 CET] ScriptProperties.hashCode() [0 seconds]
[14-02-11 14:34:47:687 CET] Session.hashCode() [0 seconds]
[14-02-11 14:34:47:688 CET] SitesApp.hashCode() [0 seconds]
[14-02-11 14:34:47:688 CET] SoapService.hashCode() [0 seconds]
[14-02-11 14:34:47:689 CET] SpreadsheetApp.hashCode() [0 seconds]
[14-02-11 14:34:47:689 CET] UiApp.hashCode() [0 seconds]
[14-02-11 14:34:47:691 CET] UrlFetchApp.hashCode() [0 seconds]
[14-02-11 14:34:47:691 CET] UserManager.hashCode() [0 seconds]
[14-02-11 14:34:47:691 CET] UserProperties.hashCode() [0 seconds]
[14-02-11 14:34:47:691 CET] Utilities.hashCode() [0 seconds]
[14-02-11 14:34:47:692 CET] Xml.hashCode() [0 seconds]
[14-02-11 14:34:47:692 CET] XmlService.hashCode() [0 seconds]
[14-02-11 14:34:47:696 CET] Spreadsheet.hashCode() [0 seconds]
[14-02-11 14:34:47:696 CET] Range.hashCode() [0 seconds]
[14-02-11 14:34:47:696 CET] Range.hashCode() [0 seconds]
[14-02-11 14:34:47:696 CET] User.hashCode() [0 seconds]
[14-02-11 14:34:47:696 CET] User.hashCode() [0 seconds]
[14-02-11 14:34:47:696 CET] Sheet.hashCode() [0 seconds]
[14-02-11 14:34:47:697 CET] Sheet.hashCode() [0 seconds]
[14-02-11 14:34:47:697 CET] Sheet.hashCode() [0 seconds]

Note, that the transcript doesn't finish with the customary Execution succeeded/execution failed message. This is the very end of the whole transcript.

What could be triggering this?

Here is the relevant portion of the script:

      var paymentRow2 = [ 
        "prg:"+event.user.getEmail(), 
        Utilities.formatDate(new Date(), "CET", "yyyy.MM.dd. HH:mm:ss")
      ];
      paymentSheet.getRange(paymentRowToWrite, 1, 1, paymentRow.length).setValues([paymentRow]);
      paymentSheet.getRange(paymentRowToWrite, 10, 1, paymentRow2.length).setValues([paymentRow2]);
      SpreadsheetApp.flush();
      Browser.msgBox("String" + dateAmount + "-ot.");
      //
      // Dies here -- seems to happen always after Browser.msgBox()
      //
      if (repeatingPayment) {
        if (inputRow[0] != "Hetente") {
          sheet.getRange(modifiedRowNum, 7, 1, 5).setValues([["","","","",""]]);
        }
        undoCommand(event);
      } else 
        if ((dateAmount == totalAmount) || (!GeneralUtil.isNumber(totalAmount))) {
          sheet.deleteRow(modifiedRowNum);
        } else { 
          sheet.getRange(modifiedRowNum, 5, 1, 7).setValues([[Math.round(totalAmount - dateAmount),inputRow[5],"","","","",""]]);
          undoCommand(event);
        }
      break;

Any suggestions?

Thanks.

解决方案

Does this describe your issue?

https://code.google.com/p/google-apps-script-issues/issues/detail?id=2697

tl:dr scripts using an onEdit trigger fail silently following call for Browser.msgBox for everyone but the owner.

这篇关于安静.hashCode()脚本死亡(GAS)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆