google-apps-script - 通过 Google 表单添加日历活动
问题描述
我正在尝试让 Google API 日历条目通过表单工作。我已经在脚本和仪表板上启用了 API。
我有两个问题,从主脚本调用创建事件函数并让变量在两者之间工作。
我已经注意到创建事件脚本的基本变体,因为一旦我让它工作,我需要完整 API 的更高级功能。
主脚本适用于注释掉的部分,但无论我尝试什么,我都无法让 API 方法工作,并且搜索没有给我任何答案。
任何帮助将不胜感激
谢谢
function onSubmit(e){
var formResponses = e.response.getItemResponses();
var submitterEmail = e.response.getRespondentEmail();
var submitionDate = e.response.getTimestamp();
var eventName = formResponses[0].getResponse();
var eventDescription = formResponses[1].getResponse();
var moduleCode = formResponses[2].getResponse();
var organiser = formResponses[3].getResponse();
var organiserEmail = formResponses[4].getResponse();
var eventRoom = formResponses[5].getResponse();
var techTeam = formResponses[6].getResponse();
var supportRequired = formResponses[7].getResponse();
var supportDescription = formResponses[8].getResponse();
var eventRepeat = formResponses[9].getResponse();
if(techTeam=="Performance Studios"){var calId = "Redacted"};
if(techTeam=="Televison Studios"){var calId = "TV Calendar"};
if(techTeam=="Science and Publishing"){var calId = "Science Calendar"};
var finalDescription = 'Organiser: ' + organiser + '\n \n' + 'Module Code: ' + moduleCode + '\n \n' + 'Description of the Event: ' + eventDescription + '\n \n' +
'Type of support: ' + supportRequired + '\n \n' + 'Description of Support: ' + supportDescription + '\n \n';
var calendarId = CalendarApp.getCalendarById(calId);
// create attachments
//Single Day Event
if(eventRepeat=="Single Day Event")
{
var supportDate = (formResponses[10].getResponse());
var supportStart = (formResponses[11].getResponse());
var eventStart = formResponses[12].getResponse();
var eventEnd = formResponses[13].getResponse();
var supportEnd = (formResponses[14].getResponse());
var start = new Date(supportDate+"T"+supportStart+":00.000Z");
var end = new Date(supportDate+"T"+supportEnd+":00.000Z");
if (end<start){var end = new Date(end.setDate(end.getDate()+1))};
if (eventStart!=""){var finalDescription = eventName + ' Start Time: ' + eventStart +'\n' + eventName + ' End Time: ' + eventEnd + '\n \n' + 'Organiser: ' + organiser + '\n \n' + 'Module Code: ' + moduleCode + '\n \n' + 'Description of the Event: ' + eventDescription + '\n \n' + 'Type of support: ' + supportRequired + '\n \n' + 'Description of Support: ' + supportDescription + '\n \n'};
//calendarId.createEvent(eventName,start, end,{description: finalDescription, location: eventRoom, guests: submitterEmail +' , '+ organiserEmail, sendInvites:true});
};
};
function createEvent() {
var event = {
summary: eventName,
location: eventRoom,
start: {dateTime: start},
end: {dateTime: end},
// Bold Red background.
colorId: 11
};
event = Calendar.Events.insert(event, calendarId);
};
解决方案
推荐阅读
- typescript - 部分的
, 但用方法扩展 - python - 如何使用 Trading Economics python 包?
- javascript - .name 在 findOne 内部有效,但在外部无效
- c# - 从单点/坐标的角度求四角多边形的“左上/右上/左下/右下”坐标
- html - 原子设计模式 - 业务逻辑
- android - 如何从 Firebase 获取数据并将其显示在 recyclerview 中?
- python - Python 使用 Selenium 的 WebDriver window_handles 在选项卡之间切换 - 仅返回父窗口
- xamarin - 如何下载 Base64 格式的 Xamarin.Forms 文件?
- python - 网络抓取 - 我得到标签但没有值
- excel - 如何在网站上设置 ComboBox 的值?