我有一个Google表单,可以将数据提交给Google表格。我已经设置了一个基于时间的事件来在电子表格中运行Google App脚本,每10分钟进行一次测试。该脚本会在电子表格中获取数据,并在我们的Google Apps目录中更新用户信息(职位名称等)
现在,当我在开发控制台中测试脚本时,它完美无缺。当我调试它时,没有错误。如果我从触发器运行它,我会收到错误:
任何人都知道如果我运行该功能它会起作用的原因而不是基于时间的触发器有效吗?
以下是代码:
// Update user's job title
function updateTitle(userEmail, userTitle, userDept, userLocation) {
var update = {
organizations:
[{
name: "Our Org",
title: userTitle,
primary: true,
type: "work",
department: userDept,
location: userLocation
}]
};
AdminDirectory.Users.update(update, userEmail); // <-- LINE 14
}
// Get the users email from spreadsheet
function getData(){
var SS = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastRow = SS.getLastRow();
var data = SS.getDataRange().getValues();
for(i = 1; i < data.length; i++){
var title = data[i][1].toString();
var email = data[i][2].toString();
var department = data[i][3].toString();
var location = data[i][4].toString();
updateTitle(email, title, department, location);
}
MailApp.sendEmail('my.email@org.com', 'It ran title update', 'Check it out ' + SpreadsheetApp.getActiveSpreadsheet().getUrl());
}
答案 0 :(得分:0)
嗯......我发现了这个问题。当我设置基于时间的触发器时,我没有选择正确的功能。因此,updateTitle
正在运行而不是getData
。
我能说什么?
#rookie
#newbstuff