通过触发器运行时SpreadsheetApp getRange失败

贾德

我的脚本中有一个函数,可修剪电子表格列中的数据。手动调用时,此方法工作得很好,但通过定时触发运行时,它总是失败。在我看来,这似乎是一个错误,但是我认为我应该首先在这里提出问题,因为可能会缺少一些东西。这是我的代码。

function trimColumnValues(columnIndex) {
  try {
    columnIndex = columnIndex || 2;
    var config = PropertiesService.getScriptProperties()
                          .getProperties();
    var firstDataRow = parseInt(config.FIRST_DATA_ROW);
    var sheet = SpreadsheetApp.openById('valid_spreadsheet_id')
                              .getSheetByName(config.MAIN_SHEET_NAME);
    var lastRow = sheet.getLastRow();
    var noColumns = lastRow - firstDataRow;
    var range = sheet.getRange(firstDataRow + 1, columnIndex, noColumns);
    var data = range.getValues();
    for (var i in data) {
      data[i][0] = data[i][0].toString().replace(/^\s+|\s+$/g,"");
    }
    range.setValues(data);
  } catch(e) {
    MailApp.sendEmail("[email protected]", "Error in script", 
      "Error: " + e.message + ". Line: " + e.lineNumber);
  }
}

我在电子邮件中收到的错误是:

错误:无法将[对象对象]转换为(类)。行:28

第28行: var range = sheet.getRange(firstDataRow + 1, columnIndex, noColumns);

贾德

我在每个变量后添加了Logger.log()行,并通过错误电子邮件发送了日志。事实证明columnIndex的类型为:对象,值:[对象对象]。我将代码更改为此:

function trimSKUs(index) {//columnIndex
  try {
    var columnIndex = (typeof index !== "number") ? 2 : index;

通过手动和定时触发,可以正常工作。

编辑:出于好奇,我用日志调用测试了对象的JSON字符串值的旧行,并具有以下值:

{“年”:2015,“月”:9,“月”:24,“周”:4,“年”:39,“小时”:19,”分钟”:43,“秒”:13,“时区”:“ UTC”,“ authMode”:{},“ triggerUid”:1787123430}

显然,触发器对象作为参数传递给时间触发的函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SpreadsheetApp:getRange和setValues

来自分类Dev

通过SQL Job Agent运行时SSIS包失败

来自分类Dev

通过docker运行时react-scripts构建失败

来自分类Dev

通过OSX Cron运行时,Objective C命令失败

来自分类Dev

通过npm run运行时Webpack失败

来自分类Dev

了解GAS触发器总运行时配额

来自分类Dev

运行时journalctl失败

来自分类Dev

值转换器在第二次运行时失败,但通过 try catch C# 成功

来自分类Dev

脚本通过PowerShell控制台正确运行,通过C#运行时失败

来自分类Dev

从外壳程序运行时,Linux“ at”命令工作正常,但从Web服务器运行时,Linux命令失败

来自分类Dev

Flurl&HttpTest:单元测试在“全部运行”时失败,但在单独运行时通过

来自分类Dev

SSIS 作业在通过 ssms 远程运行时失败,但在 SQL Server 上运行良好

来自分类Dev

junit失败,但通过maven命令行运行时通过

来自分类Dev

在触发器中更新表失败

来自分类Dev

MySQL触发器创建失败

来自分类Dev

触发器创建查询失败

来自分类Dev

Teamcity nuget依赖触发器失败

来自分类Dev

ControlTemplate触发器在设计器中不起作用(运行时正常)

来自分类Dev

Qt QThread运行时立即失败

来自分类Dev

Android从运行时失败卸载apk

来自分类Dev

运行时Unity IoC突然失败

来自分类Dev

UDP示例运行时失败

来自分类Dev

创建内容运行时失败

来自分类Dev

Nan::AsyncQueue 在运行时失败

来自分类常见问题

仅当通过Eclipse运行时:Spring Boot Controller上的POST失败,并显示HTTP错误415

来自分类Dev

Xcode测试隔离通过,与其他测试一起运行时失败

来自分类Dev

运行时错误(执行失败)无法通过wkhtmltopdf-binary生成wicked_pdf

来自分类Dev

FileInboundAdapter-在运行时设置新的触发器

来自分类Dev

电子表格关闭时是否运行时间驱动触发器?

Related 相关文章

  1. 1

    SpreadsheetApp:getRange和setValues

  2. 2

    通过SQL Job Agent运行时SSIS包失败

  3. 3

    通过docker运行时react-scripts构建失败

  4. 4

    通过OSX Cron运行时,Objective C命令失败

  5. 5

    通过npm run运行时Webpack失败

  6. 6

    了解GAS触发器总运行时配额

  7. 7

    运行时journalctl失败

  8. 8

    值转换器在第二次运行时失败,但通过 try catch C# 成功

  9. 9

    脚本通过PowerShell控制台正确运行,通过C#运行时失败

  10. 10

    从外壳程序运行时,Linux“ at”命令工作正常,但从Web服务器运行时,Linux命令失败

  11. 11

    Flurl&HttpTest:单元测试在“全部运行”时失败,但在单独运行时通过

  12. 12

    SSIS 作业在通过 ssms 远程运行时失败,但在 SQL Server 上运行良好

  13. 13

    junit失败,但通过maven命令行运行时通过

  14. 14

    在触发器中更新表失败

  15. 15

    MySQL触发器创建失败

  16. 16

    触发器创建查询失败

  17. 17

    Teamcity nuget依赖触发器失败

  18. 18

    ControlTemplate触发器在设计器中不起作用(运行时正常)

  19. 19

    Qt QThread运行时立即失败

  20. 20

    Android从运行时失败卸载apk

  21. 21

    运行时Unity IoC突然失败

  22. 22

    UDP示例运行时失败

  23. 23

    创建内容运行时失败

  24. 24

    Nan::AsyncQueue 在运行时失败

  25. 25

    仅当通过Eclipse运行时:Spring Boot Controller上的POST失败,并显示HTTP错误415

  26. 26

    Xcode测试隔离通过,与其他测试一起运行时失败

  27. 27

    运行时错误(执行失败)无法通过wkhtmltopdf-binary生成wicked_pdf

  28. 28

    FileInboundAdapter-在运行时设置新的触发器

  29. 29

    电子表格关闭时是否运行时间驱动触发器?

热门标签

归档