首页 > 解决方案 > 第一次函数调用后没有输出任何内容 - 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(', ')
}





                     

标签: javascriptgoogle-apps-scriptgoogle-sheetsactive-directory

解决方案


由于您的目标是将 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 信息)

在此处输入图像描述


推荐阅读