首页 > 解决方案 > 在 Google Apps 脚本日历活动中创建参与者的动态列表

问题描述

尝试将逗号分隔的电子邮件地址列表添加到 Google Apps 脚本,以便通过电子邮件向新日历活动的这些人发送电子邮件。

似乎我可以使用以下格式静态包含电子邮件

attendees: [
  {email: 'alice@example.com'},
  {email: 'bob@example.com'}
],

但我无法弄清楚如何获取 csv 字符串并将这些条目转换为电子邮件地址列表。

var calId = 'xxxx@resource.calendar.google.com';
  var event = {
    sendNotifications: true,
    sendUpdates: "all",
    summary: summary, 
    start: {
      date: eventDate
    },
    end: {
      date: eventDate
    }
  };

  var adds = response.getResponseText();
  if( adds.length > 0 ){
    //Create Mail List
    var addresses = adds.split(',');
    for( var i=0; i < addresses.length; i++){
      var addee=addresses[i].trim();
      Logger.log(addee);
      event.attendees.push( "email: "+addee);
    }
  event = Calendar.Events.insert( event, calId, {sendNotifications: true} 
);

标签: javascriptgoogle-apps-script

解决方案


在我看来,您的问题可能来自:

event.attendees = new List<EventAttendee>();
...
event.attendees.email=addee;

据我了解,这个数组将是空的,并且可能无法以这种方式添加电子邮件......我没有尝试过,但这段代码看起来更好:

    ArrayList<EventAttendee> attendees = new ArrayList<EventAttendee>();
...
    attendees.add(new EventAttendee().setEmail(addee)); // in the loop
...
    event.setAttendees(attendees);

推荐阅读