从我的谷歌表单自动创建谷歌联系人

时间:2012-05-28 22:44:55

标签: google-apps-script

我有一个谷歌表格,我的客户填写。每当有新人填写调查表时,如何让表单自动创建Google联系人?我不想每次都要复制粘贴只是为了在我的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:无法从undefined中读取属性“values”。 (第2行

2 个答案:

答案 0 :(得分:0)

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

无视帖子的其余部分(参见Henrique的评论)。

  

根据文件:

     

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

     

如果使用属性,则仍必须从中设置触发器   资源菜单,如上节所述。

     

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

     

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

     

HTH,Adam

答案 1 :(得分:0)

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

另外,我记得有old error表格提交参数,可能会回来。无论如何,在所有参数中添加toString并没有什么坏处。 e.g。

var email = e.values[3].toString(); //just to be sure