我有一个谷歌表格,我的客户填写。每当有新人填写调查表时,如何让表单自动创建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行
答案 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