javascript - 第一次函数调用后没有输出任何内容 - Javascript
问题描述
我正在开发一个 javascript 项目,该项目会将用户名、电子邮件、电话号码和 AD 中的备注等所有内容都列出到电子表格中,到目前为止,我有两个功能。但是我在 getExternalID(users[i].externalIds ||[] 之后放置的任何内容都不会输出任何信息。这是我所拥有的片段。我有点新手,这是否是由于我如何格式化脚本?
function writeToSpreadsheet(){
var values = [];
var users = AdminDirectory.Users.list({domain:'domain'}).users;
for (var i=0; i<users.length; i++){
values.push([users[i].name.fullName, getExternalID(users[i].externalIds ||[], getPhones(users[i].phones ||[], ))]); // accounts for blank data
}
var spreadsheetUrl = 'https://docslink';
SpreadsheetApp.openByUrl(spreadsheetUrl).getSheets()[0].getRange(1, 1, values.length, values[0].length).setValues(values);
}
function getExternalID(arr) {
return arr.map(function(ExternalIDsObj) {
return ExternalIDsObj.value;
}).join(', ') + ('@differentemail') //takes employeeID and adds Email Address
}
function getPhones(arr) {
return arr.map(function(phoneObj) {
return phoneObj.value;
}).join(', ')
}
解决方案
由于您的目标是将 Active Directory 中的数据输出到电子表格中,因此您需要在填充values
数组后使用 Sheets API 来执行此操作。
此外,为了最佳实践,这两个 get 函数与 main 函数分开。
编辑:getExternalID()
您的通话中的右括号必须有错字。它应该只得到一个论点。
示例代码:
function writeToSpreadsheet(){
var values = [];
var users = AdminDirectory.Users.list({domain:'domain'}).users;
for (var i=0; i<users.length; i++){
values.push([users[i].name.fullName, getExternalID(users[i].externalIds || []), getPhones(users[i].phones || [])]);
}
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1,1,values.length,values[0].length).setValues(values);
}
function getExternalID(arr) {
return arr.map(function(ExternalIDsObj) {
return ExternalIDsObj.value;
}).join(', ') + ('@differentemail.com');
}
function getPhones(arr) {
return arr.map(function(phoneObj) {
return phoneObj.value;
}).join(', ');
}
示例输出:(请注意,这些“帐户”在 Admin Console 中没有外部 ID 信息)
推荐阅读
- python - 用户警告:不推荐使用“lr”参数,请使用“learning_rate”
- laravel - niklasravnsborg/laravel-pdf 不渲染地图
- datetime - 从文本值转换为日期时间
- numpy - hasattr(np.array(1), '__iter__') 是 True 但在循环 np.array(1) 时抛出 TypeError
- c# - 使用 RegEx 模式处理点和破折号作为 DNS 主机名的分隔符
- algorithm - 不平衡二叉树搜索
- spring-boot - Auth0 - 无法检索远程 JWK 集:读取超时
- database - 如何更改马赛克图的颜色?
- c# - C# 通过不同的列表(“或”)过滤列表
- firebase - Firebase 快照在颤动中映射