如何将当前用户的电子邮件地址传递给Google Script

时间:2014-10-16 18:27:41

标签: email google-apps-script google-sheets carbon-copy

我在Google电子表格后面有一个脚本,一旦完成某行的某些单元格,就会发送一封电子邮件。该脚本通过发送到多个硬编码的电子邮件地址来工作。如何将当前用户的电子邮件地址添加为第二个CC?其中一个CC是硬编码的,但第二个更改取决于更新电子表格的人。我知道如何获取电子邮件地址,但如何将其作为变量传递,以便实际获得CC-ed?

var currentemail = Session.getActiveUser().getEmail();

var options = {cc: 'Session.getActiveUser().getEmail(), someotheremail@domain.com'}; 

var options = {cc:' currentemail,someotheremail@domain.com'};

GmailApp.sendEmail(email, subject, body, options);

显然这些不起作用:)。

非常感谢提前

2 个答案:

答案 0 :(得分:1)

这可以像下面这样做:

function sendWithCc(){
   var currentemail = Session.getActiveUser().getEmail();
   var options = {};// create object
   options['cc'] = currentemail+',someotheremail@domain.com';// add key & values (comma separated in a string)
   GmailApp.sendEmail('somemail@domain.com', 'subject', 'body', options);
   // I stringified 'subject' and 'body' to make that test work without defining values for it
}

答案 1 :(得分:0)

您的示例应修改如下:

var options = {cc: Session.getActiveUser().getEmail()+', someotheremail@domain.com'};

或者

var options = {cc: currentemail+', someotheremail@domain.com'};

您无法在字符串中调用函数或引用变量。相反,使用+运算符将变量的值(或函数调用的返回值)与字符串连接。

请注意,根据将使用此代码的上下文,脚本可能无权访问用户标识。请参阅GetActiveUser()下的注释:https://developers.google.com/apps-script/reference/base/session#getActiveUser()