如何更改活动的标题?

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 中所有事件的标题都更改了。

参考文献: