扩展项目我正在努力,并且我试图获取提交Google表单的人的用户名和电子邮件。将名称和电子邮件记录到电子表格中以便在工作流程中使用。注意:这是Google Apps for Business域。该表单具有以下设置:1。要求域登录以查看此表单。 2.自动收集受访者的域名用户名。 (即使那仍记录我的名字)。
用于获取用户信息的代码。如果我提交表单,它就有用。
//Grabs the Requestor's email and return it.
function giveEmail() {
var eMail = Session.getActiveUser().getEmail();
return eMail;
}
//Gets the Requestor's First & Last Name and returns as whole name
function getRequestor() {
var userFirst = UserManager.getUser(Session.getActiveUser()).getGivenName();
var userLast = UserManager.getUser(Session.getActiveUser()).getFamilyName();
var wholeName = userFirst +" "+ userLast;
return wholeName;
}
基于以下链接:Authorization for Google Services
部分"权限和脚本类型"表示"表格"脚本以"用户在键盘上运行"。
当我在域中有其他人访问表单并提交时,它会记录我的信息。附加到表单的脚本(从表单工具>脚本编辑器中编辑)通过触发器运行。触发器在表单提交时从表单运行功能。
我想念它是如何工作的吗?我是否可以实际获取域中其他人访问表单的用户信息?
答案 0 :(得分:1)
Session.getActiveUser()
与getRespondentEmail()
的方法{{1}}不同。
您应该使用后者来获取回复表单的用户的电子邮件。 activeUser实际上是创建触发器的人。