2017-10-08 32 views
0

我正在尝试确定使用Google Script或Google Calendar API邀请来宾参加已创建活动的方法。只需使用addGuest(电子邮件)在事件创建后添加客人时不会发送电子邮件邀请。Google Calendar API邀请参加现有活动

这是要走的路吗?

var calid = 'some CalendarID'; 
var eventid = 'some eventid'; 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var column = ss.getRange('A2:A2'); 
var emails = column.getValues(); 
var createdEvent = Calendar.Events.update(calid, eventid).attendees(emails); 

我也看到这个,但它不起作用。

function sendInvite(calendarId, eventId, emails) { 
    var event = Calendar.Events.get(calendarId, eventId); 
    event.attendees.push({email: emails}); 
    event = Calendar.Events.patch(event, calendarId, eventId, { 
    sendNotifications: true 
    }); 
} 

这一个:

function sendInvite(calendarId, eventId, email) { 
var event = Calendar.Events.get(calendarId, eventId); 
if(event.attendees) { 
    event.attendees.push({ 
    email: email 
    }); 
} else { 
    event.attendees = new Array({email: email}); 
} 
event = Calendar.Events.patch(event, calendarId, eventId, { 
    sendNotifications: true 
}); 
} 
+0

这些脚本使用高级日历API,您在尝试之前是否授权API?它必须在资源菜单和Google API控制台中完成 –

+0

是的,我已经授权所有。我可以获得使用API​​创建的事件。我在其他电子邮件的日历上看到该事件已添加,并且正在等待用户单击“是”,“否”或“可能”。但它不会生成邀请人的电子邮件。这是我挣扎的电子邮件。我如何使用API​​发送?或者我如何重新创建? –

回答

0

原来的谷歌事件将阻止过去事件的通过邮件发送。我正在使用过去的日期来测试。当我在将来更改日期时,它效果很好。