Javascript 如何使用Google Apps脚本为每个事件创建(在特定的if语句中)添加唯一的Google Meet链接
如何为每个事件添加新生成的Google Meet链接,这些事件仅为嵌套在以下内容中的if语句生成:Javascript 如何使用Google Apps脚本为每个事件创建(在特定的if语句中)添加唯一的Google Meet链接,javascript,google-apps-script,google-sheets,google-api,google-calendar-api,Javascript,Google Apps Script,Google Sheets,Google Api,Google Calendar Api,如何为每个事件添加新生成的Google Meet链接,这些事件仅为嵌套在以下内容中的if语句生成: var event_title = ""; var desc = ""; var today = new Date(); var thirtyMinutes = new Date(today); thirtyMinutes.setMinutes(today.getMinutes() + 30); var event = calendar.createEve
var event_title = "";
var desc = "";
var today = new Date();
var thirtyMinutes = new Date(today);
thirtyMinutes.setMinutes(today.getMinutes() + 30);
var event = calendar.createEvent(event_title, today, thirtyMinutes, { description: desc }).setVisibility(CalendarApp.Visibility.PRIVATE).setColor("11").addPopupReminder(10);
var example_description = 'example description';
if (interview_type == 'Example Interview') {
event.setTitle('Example Title');
event.setDescription(example_description + "");
}
我在另一个答案中找到了这个解决方案,但我似乎无法为我的用例配置它,因为它不会破坏我设置的当前事件创建设置,并使它为每个单独的事件创建生成一个新的设置,以及将它保持在触发特定类型事件创建的if语句中:
if (interview_type == 'Example Interview') {
event.setTitle('Example Title');
event.setDescription(example_description + "");
}
谢谢您可以参考此示例代码:
函数createEvent(){
var calendarId='c_9CDQEQLUK7VSessartxxxxxx';
var calendar=CalendarApp.getCalendarById(calendarId);
var访谈类型=‘示例访谈’;
var事件_title=“”;
var desc=“”;
var today=新日期();
var Thirtimutes=新日期(今天);
三十分钟.setMinutes(今天.getMinutes()+30);
var event=calendar.createEvent(事件标题,今天,三十分钟,{description:desc})
.setVisibility(CalendarApp.Visibility.PRIVATE).setColor(“11”).AddPopurEmider(10);
Logger.log('Event ID:'+Event.getId());
var example_description=‘example description’;
如果(面试类型==‘示例面试’){
event.setTitle(“示例标题”);
event.setDescription(示例_description+“”);
//添加会议
变量tmpEvent={
会议数据:{
createRequest:{
conferenceSolutionKey:{
类型:“hangoutsMeet”
},
requestId:charIdGenerator()
}
}
}
//从活动的iCalUID中删除@google.com
var eventId=event.getId().replace(“@google.com”,”);
Logger.log(eventId);
patch(tmpEvent,calendarId,eventId,{conferenceDataVersion:1});
}
}
函数charIdGenerator()
{
var charId=“”;
对于(变量i=1;i<10;i++)
{
charId+=String.fromCharCode(97+Math.random()*10);
}
//Logger.log(charId)
返回查里德;
}
先决条件:
您需要在应用程序脚本中启用
致:
在步骤4中选择谷歌日历API
它是干什么的?
interview\u type
设置为'Example interview'
时,我们将在其主体中创建一个createRequest
。它需要2个输入:
,设置为conferenceSolutionKey类型
hangoutsMeet
,它是客户机为此请求生成的唯一ID。客户端应为每个新请求重新生成此ID。如果提供的ID与前一个请求相同,则忽略该请求requestId
requestId
iCalUID
中的“@google.com”
子字符串来获取事件id输出:
var event = {
"summary": summary,
"start": {
"dateTime": start.toISOString()
},
"end": {
"dateTime": end.toISOString()
},
"conferenceData": {
"createRequest": {
"conferenceSolutionKey": {
"type": "hangoutsMeet"
},
"requestId": id
}
}
};
event = Calendar.Events.insert(event, 'primary', {
"conferenceDataVersion": 1});
return event.hangoutLink;
function createEvent() {
var calendarId = 'c_9cdqeqqluk7vsessartxxxxxx';
var calendar = CalendarApp.getCalendarById(calendarId);
var interview_type = 'Example Interview';
var event_title = "";
var desc = "";
var today = new Date();
var thirtyMinutes = new Date(today);
thirtyMinutes.setMinutes(today.getMinutes() + 30);
var event = calendar.createEvent(event_title, today, thirtyMinutes, { description: desc })
.setVisibility(CalendarApp.Visibility.PRIVATE).setColor("11").addPopupReminder(10);
Logger.log('Event ID: ' + event.getId());
var example_description = 'example description';
if (interview_type == 'Example Interview') {
event.setTitle('Example Title');
event.setDescription(example_description + "");
//Add Meet Conference
var tmpEvent = {
conferenceData:{
createRequest:{
conferenceSolutionKey:{
type: "hangoutsMeet"
},
requestId: charIdGenerator()
}
}
}
//remove @google.com from the iCalUID of the event
var eventId = event.getId().replace("@google.com","");
Logger.log(eventId);
Calendar.Events.patch(tmpEvent,calendarId,eventId,{conferenceDataVersion:1});
}
}
function charIdGenerator()
{
var charId ="";
for (var i = 1; i < 10 ; i++)
{
charId += String.fromCharCode(97 + Math.random()*10);
}
//Logger.log(charId)
return charId;
}