2014-10-17 91 views
0

我使用谷歌Apps脚本来获得在特定电子邮件的具体形式的回应,错误,而试图用“回复”在谷歌的Apps脚本

什么我想do是使用谷歌表格打开支持票,所以人们需要填写一些字段,如标题,说明和电子邮件,

而且当他们提交表格时,它会自动打开一张票,但电子邮件将始终从表单的所有者,这是一个问题,因为我们希望打开票的人接收电子邮件更新,所以我想要做的是这样的:

我把一个领域的形式问人的电子邮件,我试图把这个电子邮件进入答复...

而且显然我正确的方式来捕捉电子邮件,邮件但答复不显示电子邮件,人填补了这个盒子,它出现一个错误:[Ljava.lang.Object; @ 34dfe075

有没有人可以帮助我?

这里是我的脚本:

function Initialize() { 

var triggers = ScriptApp.getProjectTriggers(); 

for(var i in triggers) { 
ScriptApp.deleteTrigger(triggers[i]); 
} 

ScriptApp.newTrigger("SendGoogleForm") 
.forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet()) 
.onFormSubmit() 
.create(); 

} 

function SendGoogleForm(e) 
{ 
try 
{  
var email = "[email protected]"; 
var form = e.namedValues; 
var subject = form["Title"]; 
var s = SpreadsheetApp.getActiveSheet(); 
var columns = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];  
var message = "";  

for (var keys in columns) { 
    var key = columns[keys]; 
    if (e.namedValues[key] && (e.namedValues[key] != "")) { 
    message += key + ' :: '+ e.namedValues[key] + "\n\n"; 
    } 
} 

GmailApp.sendEmail(email, subject, message, {replyTo: form["E-mail"], from: "[email protected]"}); 

} catch (e) { 
Logger.log(e.toString()); 
} 

} 

这里是这样的输出:

from: [email protected] 

reply-to: [Ljava.lang.Object;@34dfe075 

to: [email protected] 

date: Fri, Oct 17, 2014 at 10:55 AM 

subject:  New Test 

到回复,坏:(在电子返回

回答

0

值。 namedValues属性是数组,因此您必须像这样访问它们。

修改您的sendEmail行,如下所示:

GmailApp.sendEmail(email, subject, message, {replyTo: form["E-mail"][0], from: "[email protected]"}); 

注意表示要数组中的第一个值,这将是电子邮件地址中输入的表单上的[0]数组索引[“电子邮件”]字段。

请参阅此处“e.namedValues”旁边的示例:https://developers.google.com/apps-script/guides/triggers/events#google_sheets_events