0

我有我的客户填写的谷歌表格。每次新人填写调查表时,如何让表单自动创建谷歌联系人?我不想每次都复制粘贴只是为了在我的 gmail 中创建一个新联系人

我正在尝试使用此脚本,但是当我尝试使用一些测试数据运行它时出现错误

function onFormSubmit(e) {
   var timestamp = e.values[0];
   var firstName= e.values[1];
   var lastName= e.values[2];
   var email= e.values[3];
   var phone= e.values[4]; 
   ContactsApp.createContact( timestamp  ,  firstName , lastName ,  email , phone );
 }

TypeError:无法从未定义中读取属性“值”。(第 2 行

4

2 回答 2

0

尝试手动运行该函数时,您将收到该错误消息,因为没有将事件传递给该函数。

忽略帖子的其余部分(参见 Henrique 的评论)。

根据文档:

一个事件作为参数 (e) 传递给每个事件处理程序。您可以将属性添加到 (e) 参数,以进一步定义触发器的工作方式或捕获有关脚本如何触发的信息。

如果您使用这些属性,您仍必须从资源菜单设置触发器,如以上部分所述。

https://developers.google.com/apps-script/guide_events#TriggerAttributes

我无法解释为什么会这样,但您似乎需要使用简单的事件处理程序(即命名函数 onFormSubmit),以及将可安装的事件处理程序应用于同一函数。然后,至少对我来说,它按预期工作。

HTH,亚当

于 2012-05-29T00:43:09.943 回答
0

函数中没有“电话”参数createContact。在尝试从更难调试的触发器创建它之前,您是否尝试过编写一个简单的函数来创建一个简单的联系人,只是为了检查您是否做对了?

另外,我记得一个关于表单提交参数的旧错误,它可能会回来。toString无论如何,在所有参数中添加 a 并没有什么坏处。例如

var email = e.values[3].toString(); //just to be sure
于 2012-06-03T05:03:43.923 回答