我想要做的是通过我创建的脚本将访客添加到某些Google日历活动,而不会通过邀请通知他们。我尝试了addGuest()函数,但每当有人添加时,他或她都会收到邀请电子邮件。
这可能吗?
非常感谢你。
最好,菲尔
编辑:
感谢您的回答。是的,我确定有邀请被发送。这是我的代码的相关部分:
for (i = 0; i < events.length; ++i)
{
if (events[i].getLocation().match("XYZ") || events[i].getTitle().match("ABC")) {events[i].setLocation(addabc) && events[i].addGuest(mailxyz)}
}
编辑2:我再次核实,邀请确实被发送出去了。这是我的整个脚本,但我不知道哪个部分可能导致这个:
function ModifyAppointments() {
var idabc = "idabc..."
// ABC
var contactabc = ContactsApp.getContactById(idabc);
var addressabc = contactabc.getAddresses();
var addabc = addressabc[0].getAddress();
var mailsabc = contactabc.getEmails();
var mailabc = mailsabc[0].getAddress();
var today = new Date();
var start = new Date();
var end = new Date(start.getTime() +(500 * 60 * 60 * 24 * 7));
var events = CalendarApp.getDefaultCalendar().getEvents(start, end);
for (i = 0; i < events.length; ++i)
{
if (events[i].getLocation().match("abc") || events[i].getLocation().match("abc") || events[i].getTitle().match("abc") || events[i].getTitle().match("abc")) {events[i].setLocation(addabc) && events[i].addGuest(mailabc)}
}
}
编辑3:以下是正在发送的邀请之一的屏幕截图。不幸的是它是德语:
如果你想知道为什么在发送邀请和约会时间之间存在这么大的时间,我曾经在我的脚本中有更长的时间间隔。现在我提前一周将它缩短了。
答案 0 :(得分:0)
我已经看过这个了,我非常肯定这个代码不是发送邀请的内容。正如我所说,https://code.google.com/p/google-apps-script-issues/issues/detail?id=574有一个未解决的问题,因为此函数没有发送邀请,我也是自己再次对此进行测试,所以我们可以排除这一点。
这是一个测试功能,您可以复制并粘贴其他人(邀请永远不会发送给活动的创建者)电子邮件地址到新脚本中并自行确认.addGuest( )不是罪魁祸首:
function myFunction() {
var email = 'ANOTHER-PERSONS-EMAIL-HERE';
var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Apollo 11 Landing',new Date('November 20, 2014'));
event.addGuest(email);
}
剩下的假设是脚本的其他部分正在发送邀请(再一次,脚本中的Calendar服务可以不来发送邀请)。
答案 1 :(得分:0)
问题源于您编写代码的方式。您必须迭代一系列事件。我已经为你修好了。
function myFunction() {
var today = new Date();
var email = 'ANOTHER-PERSONS-EMAIL-HERE';
var events = CalendarApp.getDefaultCalendar().getEventsForDay(today);
for (i = 0; i < events.length; ++i)
{
events[i].addGuest(email);
}
}
//如果您有任何疑问,请告诉我们 - amir@serialmetrics.com,Amir Behbehani,//首席科学家,串行指标