function modifyevent(eventid,cal){
var event = cal.getEventById(eventid);
event.deleteEvent();
}
这是有效但不发送电子邮件。您是否有另一种方法可以使用 GOOGLE应用内容进行此操作。我想删除该活动,并向与会者发送一封电子邮件,即使他们使用Outlook等日历,也会从他们的日历中删除该活动。
这是我创建活动的方式,如果它可以提供帮助:
function createEvent(date,start,end,summary,location,email,calendarId,incrementligne,ss){
var newdatestart = new Date(date.getYear(), date.getMonth(), date.getDate(), start.getHours(), start.getMinutes(), "0", "0");
var newdateend = new Date(date.getYear(), date.getMonth(), date.getDate(), end.getHours(), end.getMinutes(), "0", "0");
var invitelist = email.split(',');
var longueur = invitelist.length;
var event = {
summary:summary,
location: location,
description: '',
start: {dateTime: newdatestart.toISOString()},
end: {dateTime: newdateend.toISOString()},
attendees: [
{email: ''},{email: ''}],
// Red background. Use Calendar.Colors.get() for the full list.
colorId: 11
};
for(var i=0; i < invitelist.length;i++){
event.attendees.push({email: invitelist[i]});
}
答案 0 :(得分:2)
在“脚本编辑器”中,转到“查看”按钮。 - &#39;显示清单文件&#39;。在&#39; appscript.json&#39;中添加以下范围:
"oauthScopes": ["https://www.googleapis.com/auth/calendar",
"https://www.googleapis.com/auth/script.external_request"]
转到&#39;资源 - &gt; &#39;云平台项目&#39;。单击您的项目名称以在GCP上打开项目页面。输入&#39; Calendar API&#39;在页面顶部的搜索框中。点击&#34;启用&#34;在Calendar API页面上。
最后,使用UrlFetchApp调用Calendar API端点。需要注意的一点是,您需要修改CalendarEvent.getId()返回的字符串,以获取没有&#39; @ google.com&#39;的实际标识符。部分。我已经测试了下面的代码 - 一切都很完美,包括通知。
function deleteEvent(eventId) {
var baseUrl = "https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events/{eventId}?sendNotifications=true";
var calendarId = CalendarApp.getDefaultCalendar().getId();
eventId = eventId.substr(0, eventId.indexOf("@"));
var url = baseUrl.replace("{calendarId}", calendarId).replace("{eventId}", eventId);
var options = {
"method": "DELETE",
"headers": {"Authorization":"Bearer " + ScriptApp.getOAuthToken()},
"muteHttpExceptions": true
};
var res = UrlFetchApp.fetch(url, options).getContentText();
Logger.log(res);
}
答案 1 :(得分:1)
您可以使用GmailApp.sendEmail(String,String,String) method(或MailApp.sendEmail(String,String,String) method,视您的需要而定),例如:
function modifyevent(eventid,cal){
var event = cal.getEventById(eventid);
var name = event.getTitle();
event.deleteEvent();
GmailApp.sendEmail("mike@example.com", "Event deleted", "The event " + name + " has been deleted on " + now.toString());
}