Google Apps Script 返回 Code.gs 中的对象
Google Apps Script return object in Code.gs
是否可以从服务器端返回Google Apps Script中的对象?我的代码如下:
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(称为议程.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();
}
更新
我自己找到了它,显然日期类型不是合法的参数类型或返回类型(这也适用于数组、对象等中的变量)。我已经将用作参数或返回类型的每个日期都更改为 .toString(),现在它可以工作了。使用这些日期字符串,我也可以为这些日期创建日期对象。
.gs
脚本可以返回一个对象。 从您的更新来看,您似乎发现了问题。
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 值对象在某个变量发生更改后发生更改
- Google Apps Script 返回 Code.gs 中的对象
- 为javascript对象实例覆盖[gs]et的最佳方法(使用prototype?)