我有下面的腳本來從谷歌表單創建日歷事件。該腳本現在可以作業,但我想將它自己的 eventid 記錄到該事件描述中。然后當用戶想要洗掉他們自己的事件時,他們可以參考描述,我將有另一個表單讓用戶使用這個 eventid 洗掉他們自己的事件。
//var calendarId = "[email protected]";
var typeId = 2;
var nameId = 3;
var startDtId = 4;
var endDtId = 5;
var emailId = 6
var eventId = 7
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
var lr = rows.getLastRow();
function getLatestAndSubmitToCalendar() {
var startDt = sheet.getRange(lr, startDtId, 1, 1).getValue();
var endDt = sheet.getRange(lr, endDtId, 1, 1).getValue();
var name = sheet.getRange(lr, nameId, 1, 1).getValue();
var email = sheet.getRange(lr, emailId, 1, 1).getValue();
var desc = "text here" "\n" "text here" "\n" "text here"; //<--possible to insert eventid here?
var title = sheet.getRange(lr, typeId, 1, 1).getValue() " " name;
//var type = sheet.getRange(lr, typeId, 1, 1).getValue();
createAllDayEvent(calendarId,title,startDt,endDt,desc,email);
}
function createAllDayEvent(calendarId, title, startDt, endDt, desc, email) {
var cal = CalendarApp.getCalendarById(calendarId);
var start = new Date(startDt);
var end = new Date(endDt);
end.setDate(end.getDate() 1);
var email = email;
var title = title;
//var type = type;
var event = cal.createAllDayEvent(title, start, end, {
description : desc,
guests: email
});
event.setGuestsCanModify(true);
var eventid = event.getId();
sheet.getRange(lr, eventId, 1, 1).setValue(eventid);
}
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您希望在使用顯示腳本創建事件時將事件 ID 添加到描述中。
在這種情況下,如何進行以下修改?
從:
var eventid = event.getId();
至:
var eventid = event.getId();
event.setDescription(desc "\n" eventid);
在此修改中,事件 ID 作為描述中的新行添加。所以,請\n根據您的實際情況進行修改。
或者,如果你只想放事件ID,請修改如下。
var eventid = event.getId();
event.setDescription(eventid);
或者,如果您想通過 Calendar API 使用事件 ID,請將事件 ID 用作var eventid = event.getId().split("@")[0];.
- 當此修改反映在您的顯示腳本中時,創建事件時,將從創建的事件中檢索到的事件 ID 放入描述中。
參考:
- 設定描述(描述)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/494004.html
上一篇:如何擺脫for回圈
