[英]return value from input field in dialog box to var in code.gs using Google Apps Script
[英]Google Apps Script return object in Code.gs
是否无法从服务器端以Google Apps脚本返回对象? 我的代码如下:
function getAllEventsOfDate(){
var cal = CalendarApp.getCalendarById(Session.getActiveUser().getEmail());
var events = cal.getEventsForDay(new Date());
var results = [];
for(var i = 0; i < events.length;i++){
var event = {title:events[i].getTitle(), desc:events[i].getDescription(), location:events[i].getLocation(), startTime:events[i].getStartTime(), endTime: events[i].getEndTime()};
results.push(event);
}
Logger.log(results);
return results;
}
在我的HTML(称为Agenda.html)中,我有以下内容:
$(document).ready(function(){
google.script.run.withSuccessHandler(getAgendaData).getAllEventsOfDate();
});
function getAgendaData(data)
{
console.log(data);
}
这应该只返回我从事件数据中定义的对象的数组中。 但是,这不起作用,我收到一个脚本已成功完成的错误,但是返回的值不是有效的返回类型。 如果我更改return语句以return results[0];
,它也不起作用(希望检查它是否是由数组引起的)。 如果我将其更改为return results[0].title;
它确实起作用:我的日历的第一个事件的标题显示在控制台中。 这是否意味着我无法返回对象? 任何帮助将非常感激。
我的Code.gs doGet具有:
function doGet(){
return HtmlService.createTemplateFromFile('Agenda').evaluate();
}
我自己找到了它,显然日期类型不是合法的参数类型或返回类型(这也适用于数组,对象等中的变量)。 我已经将用作参数或返回类型的每个Date更改为.toString(),现在可以使用了。 使用这些日期字符串,我也可以为这些日期创建日期对象。
.gs
脚本可以返回一个对象。 通过更新,您似乎发现了问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.