在应用脚本中创建事件,但未接收电子表格数据

马特·尼科德莫斯

我无法使它正常工作,我迷路了,已经搜寻了答案,却看不到是什么原因导致失败,我正在从电子表格中提取数据并尝试将其作为事件添加到Google日历中-冻结在getcal()event上,说找不到方法createalldayevent(string,string)-line71

我已经修改了此代码,但仍然...

\\function to get required information from sheets 
and set as script properties to use in later functions//

function getsheet(getsheet){


var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Calendar Data");
var sheet2 = ss.getSheetByName("call form");
var sheet3 = ss.getSheetByName("Job Summary Sheet");

var getval = sheet2.getRange("A1:A").getValues();

var getlast = getval.filter(String).length;

var finval = sheet2.getRange(getlast, 1).getValues().toString(); 
var finval2 = sheet1.getRange(getlast, 2).getValues().toString();
var finval3 = sheet1.getRange(getlast, 5).getValues().toString();
var finval4 = sheet3.getRange(getlast, 6).getValues().toString(); 
var finval5 = sheet3.getRange(getlast, 12).getValues().toString();


var title = finval + '-' + finval4 ;
var startTime =  finval3;
var endTime =  finval3;
var location = finval2;
var description = finval5;

PropertiesService.getScriptProperties().setProperty('title', title);
PropertiesService.getScriptProperties().setProperty('startTime', startTime); 
PropertiesService.getScriptProperties().setProperty('endTime', endTime);
PropertiesService.getScriptProperties().setProperty('location', location);
PropertiesService.getScriptProperties().setProperty('description',    description);


Logger.log(title);
Logger.log(startTime);
Logger.log(endTime);
Logger.log(location);
Logger.log(startTime);
Logger.log(description);

} 

 \\\\function getsheet() works correctly-
 --gets last row of each required sheet and sets information as script   properties////

function getcal2(){
getsheet();
var title = PropertiesService.getScriptProperties().getProperty('title');
var Date = PropertiesService.getScriptProperties().getProperty('startTime');
var endTime =     PropertiesService.getScriptProperties().getProperty('endTime');
var location = PropertiesService.getScriptProperties().getProperty('location');
var description = PropertiesService.getScriptProperties().getProperty('description');


////freezes at event2/////


var event = CalendarApp.getCalendarById('[email protected]');
var event2 =event.createAllDayEvent(title,Date
);


Logger.log('Event ID: ' + event.getId()); 
Logger.log(title);
Logger.log(startTime);
Logger.log(endTime);
Logger.log(location);
Logger.log(startTime);
Logger.log(description);

}

\\\fails at event2-cannot find method-i am new to this 

但是您的帮助确实给了我很多理解...我很感激!////

奥科多娃

在第3行,我们在调用方法createAllDayEvent()时,变量titlestartTimeundefined,只是移动(其中定义行3 var event)行后var description = finval5调用函数使用这些参数getsheet()。

编辑:

您正在使用方法createAllDayEvent(title,date)接收的两个参数是:

  1. title需要是一个字符串,因此请确保您从电子表格中获取的值是一个字符串。
  2. date需要是一个Date对象,以便确保在电子表格中的值是一个有效的日期格式,如果你编辑,你必须看到日历,细胞如果不进入菜单格式>号码>日期

谷歌表格存储数据取决于单元格的值,该值可以是类型的NumberBooleanDate,或String(空单元将返回一个空字符串)。当这些值被脚本使用时,Apps脚本会将它们视为JavaScript中适当的数据类型。

编辑2:

正如我上面提到的,方法createAllDayEvent(title,date)在第二个参数中接收Date对象,现在您正在使用PropertiesService存储日期值,但是此服务将值存储为Strings,因此现在使用日期之前要创建事件,您需要将其转换为Date对象,如下所示:

var date = PropertiesService.getScriptProperties().getProperty('startTime');
var dateObj = new Date(date); // create the Date Object
var event = CalendarApp.getCalendarById('[email protected]');
var event2 = event.createAllDayEvent(title, dateObj);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用php在Google驱动器中创建电子表格并安装加载项或将应用脚本附加到电子表格中

来自分类Dev

是否可以将脚本添加到在脚本中创建的电子表格中?

来自分类Dev

从电子表格更新数据 - Apps 脚本

来自分类Dev

Google Apps脚本-将数据从电子表格追加到文档模板中的表格

来自分类Dev

通过脚本从电子表格中删除空行

来自分类Dev

Google电子表格脚本

来自分类Dev

在应用程序脚本中从电子表格更新下拉列表

来自分类Dev

使用应用程序脚本在电子表格中未定义的值

来自分类Dev

尝试创建从电子表格中删除行的脚本,无法使其正常工作

来自分类Dev

如何通过App脚本在特定文件夹中创建电子表格

来自分类Dev

如何通过App脚本在特定文件夹中创建电子表格

来自分类Dev

用于从多个不同电子表格中编译数据的 Google 脚本,这些电子表格是同一文件的副本

来自分类Dev

Google Apps脚本,从外部电子表格中检索数据的最快方法

来自分类Dev

创建电子表格

来自分类Dev

在Java中的电子表格应用程序中存储数据的最佳方法

来自分类Dev

Google电子表格中的数据绑定?

来自分类Dev

编写代码以从电子表格中检索数据

来自分类Dev

编写代码以从电子表格中检索数据

来自分类Dev

从Android应用程序中读取Google电子表格并列出该数据?

来自分类Dev

从电子表格中修改另一个电子表格:Google Apps脚本

来自分类Dev

从电子表格中修改另一个电子表格:Google Apps脚本

来自分类Dev

根据电子表格数据在VBA中创建数组

来自分类Dev

通过Google电子表格创建Google日历事件的Google脚本-“超出了最大执行时间”

来自分类Dev

通过Google电子表格创建Google日历事件的Google脚本-“超出了最长执行时间”

来自分类Dev

复制输入数据并将其粘贴到电子表格中时,使用什么触发器来更新单元格?(Google表格/应用脚本)

来自分类Dev

使用客户端API在Google云端硬盘应用数据文件夹中创建Google表格电子表格

来自分类Dev

在提供带有应用脚本的编辑对话框的同时,在Google电子表格中将数据保密

来自分类Dev

我如何在谷歌应用程序脚本中使用 javascript 从谷歌电子表格数据库中获取日期值

来自分类Dev

使用应用脚本将表格图表从Google电子表格发送到Slack

Related 相关文章

  1. 1

    如何使用php在Google驱动器中创建电子表格并安装加载项或将应用脚本附加到电子表格中

  2. 2

    是否可以将脚本添加到在脚本中创建的电子表格中?

  3. 3

    从电子表格更新数据 - Apps 脚本

  4. 4

    Google Apps脚本-将数据从电子表格追加到文档模板中的表格

  5. 5

    通过脚本从电子表格中删除空行

  6. 6

    Google电子表格脚本

  7. 7

    在应用程序脚本中从电子表格更新下拉列表

  8. 8

    使用应用程序脚本在电子表格中未定义的值

  9. 9

    尝试创建从电子表格中删除行的脚本,无法使其正常工作

  10. 10

    如何通过App脚本在特定文件夹中创建电子表格

  11. 11

    如何通过App脚本在特定文件夹中创建电子表格

  12. 12

    用于从多个不同电子表格中编译数据的 Google 脚本,这些电子表格是同一文件的副本

  13. 13

    Google Apps脚本,从外部电子表格中检索数据的最快方法

  14. 14

    创建电子表格

  15. 15

    在Java中的电子表格应用程序中存储数据的最佳方法

  16. 16

    Google电子表格中的数据绑定?

  17. 17

    编写代码以从电子表格中检索数据

  18. 18

    编写代码以从电子表格中检索数据

  19. 19

    从Android应用程序中读取Google电子表格并列出该数据?

  20. 20

    从电子表格中修改另一个电子表格:Google Apps脚本

  21. 21

    从电子表格中修改另一个电子表格:Google Apps脚本

  22. 22

    根据电子表格数据在VBA中创建数组

  23. 23

    通过Google电子表格创建Google日历事件的Google脚本-“超出了最大执行时间”

  24. 24

    通过Google电子表格创建Google日历事件的Google脚本-“超出了最长执行时间”

  25. 25

    复制输入数据并将其粘贴到电子表格中时,使用什么触发器来更新单元格?(Google表格/应用脚本)

  26. 26

    使用客户端API在Google云端硬盘应用数据文件夹中创建Google表格电子表格

  27. 27

    在提供带有应用脚本的编辑对话框的同时,在Google电子表格中将数据保密

  28. 28

    我如何在谷歌应用程序脚本中使用 javascript 从谷歌电子表格数据库中获取日期值

  29. 29

    使用应用脚本将表格图表从Google电子表格发送到Slack

热门标签

归档