如何更改活动的标题?
How to change title of an event?
我正在尝试在用户提交表单时更新特定日历中过去 7 天的事件标题。
我现在有这个代码:
function myFunction() {
var form = FormApp.openById('1g4gA7glYWRKOVqOi3z3qxyEGbJgaSg_2Jkry_uOp0Cc');
var responses = form.getResponses();
var len = responses.length;
var last = len - 1;
var items = responses[last].getItemResponses();
var email = responses[last].getRespondentEmail();
var equipment = items[1].getResponse();
var cal = CalendarApp.getCalendarsByName(equipment);
var d = new Date();
var ms = d.getTime();
var sevenDays = 7*24*60*60*1000;
var minus7daysMs = ms - sevenDays;
var minus7days = new Date(minus7daysMs);
Logger.log('Number of events: ' + minus7days);
var events = cal[0].getEvents(minus7days, d);
var title = events.getName;
Logger.log('Event title: ' + title);
events.setTitle('Returned');
}
但是,当 运行 代码:TypeError: events.setTitle is not a function myFunction @ update.gs:22
时,我得到了那个错误
我尝试了很多不同的方法,但总是以错误结束。你能告诉我我做错了什么吗?
非常感谢您的帮助!
根据您的展示脚本,getEvents(startTime, endTime)
returns CalendarEvent[]
。 setTitle(title)
是 Class CalendarEvent 的一个方法。在您的脚本中,在 events.setTitle('Returned')
处,setTitle
用于数组。我认为你的问题的原因是由于这个。当你想把events
里面的所有事件都改成setTitle('Returned')
,下面的修改怎么样?
发件人:
events.setTitle('Returned');
收件人:
events.forEach(e => e.setTitle('Returned'));
- 通过此修改,
events
中所有事件的标题都更改了。
参考文献:
我正在尝试在用户提交表单时更新特定日历中过去 7 天的事件标题。
我现在有这个代码:
function myFunction() {
var form = FormApp.openById('1g4gA7glYWRKOVqOi3z3qxyEGbJgaSg_2Jkry_uOp0Cc');
var responses = form.getResponses();
var len = responses.length;
var last = len - 1;
var items = responses[last].getItemResponses();
var email = responses[last].getRespondentEmail();
var equipment = items[1].getResponse();
var cal = CalendarApp.getCalendarsByName(equipment);
var d = new Date();
var ms = d.getTime();
var sevenDays = 7*24*60*60*1000;
var minus7daysMs = ms - sevenDays;
var minus7days = new Date(minus7daysMs);
Logger.log('Number of events: ' + minus7days);
var events = cal[0].getEvents(minus7days, d);
var title = events.getName;
Logger.log('Event title: ' + title);
events.setTitle('Returned');
}
但是,当 运行 代码:TypeError: events.setTitle is not a function myFunction @ update.gs:22
我尝试了很多不同的方法,但总是以错误结束。你能告诉我我做错了什么吗?
非常感谢您的帮助!
根据您的展示脚本,getEvents(startTime, endTime)
returns CalendarEvent[]
。 setTitle(title)
是 Class CalendarEvent 的一个方法。在您的脚本中,在 events.setTitle('Returned')
处,setTitle
用于数组。我认为你的问题的原因是由于这个。当你想把events
里面的所有事件都改成setTitle('Returned')
,下面的修改怎么样?
发件人:
events.setTitle('Returned');
收件人:
events.forEach(e => e.setTitle('Returned'));
- 通过此修改,
events
中所有事件的标题都更改了。