當用戶提交表單時,我正在嘗試更新特定日歷中過去 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
我嘗試了許多不同的方法,但總是以錯誤結束。你能告訴我我做錯了什么嗎?
非常感謝您的幫助!
uj5u.com熱心網友回復:
從您的顯示腳本中,getEvents(startTime, endTime)回傳CalendarEvent[]. 并且setTitle(title)是Class CalendarEvent 的一個方法。在您的腳本中, atevents.setTitle('Returned')用于setTitle陣列。我認為你的問題的原因是由于這個。當你想改變 with 中的所有事件時events,setTitle('Returned')下面的修改怎么樣?
從:
events.setTitle('Returned');
到:
events.forEach(e => e.setTitle('Returned'));
- 通過這個修改,所有事件的標題
events都改變了。
參考:
- 獲取事件(開始時間,結束時間)
- 類 CalendarEvent 的 setTitle(title)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/457221.html
