Email 将所有用户别名下载到Google电子表格

Email 将所有用户别名下载到Google电子表格,email,google-apps-script,google-sheets,google-admin-sdk,Email,Google Apps Script,Google Sheets,Google Admin Sdk,我正在尝试列出网络中的所有用户别名。然而,我有点麻烦。我是从一些固定的代码开始工作的。我知道别名是一个数组,但每个用户访问它,然后只列出别名,这让我看到了双重效果。非常感谢任何帮助或提示 function AliasDomainUsersList() { var users_alias = []; var options_alias = { domain: "northstarmoving.com", // Google Apps domain name c

我正在尝试列出网络中的所有用户别名。然而,我有点麻烦。我是从一些固定的代码开始工作的。我知道别名是一个数组,但每个用户访问它,然后只列出别名,这让我看到了双重效果。非常感谢任何帮助或提示

  function AliasDomainUsersList() {

  var users_alias = [];
  var options_alias = {
    domain: "northstarmoving.com",     // Google Apps domain name
    customer: "my_customer",
    maxResults: 100,
    projection: "full",      // Fetch basic details of users
    viewType: "domain_public",
    orderBy: "email"          // Sort results by users
  }

  do {
    var response = AdminDirectory.Users.list(options_alias);
    response.users.forEach(function(user) {
      users_alias.push([user.name.fullName, user.primaryEmail]);
    });

    // For domains with many users, the results are paged
    if (response.nextPageToken) {
      options_alias.pageToken = response.nextPageToken;
    }
  } while (response.nextPageToken);

  // Insert data in a spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Users-Aliases") || ss.insertSheet("Users-Aliases", 1);
  sheet.getRange(1,1,users_alias.length, users_alias[0].length).setValues(users_alias);

}

我想这样的办法可能行得通。我没有测试这个,因为我是我的商业账户中唯一的人

function AliasDomainUsersList() {
  var users_alias = [];
  var options_alias = {
    domain: "northstarmoving.com",     // Google Apps domain name
    customer: "my_customer",
    maxResults: 100,
    projection: "full",      // Fetch basic details of users
    viewType: "domain_public",
    orderBy: "email"          // Sort results by users
  }

  do {
    var response = AdminDirectory.Users.list(options_alias);
    for(var i=0;i<response.users.length;i++) {//you will probably want to do this your way. 
      users_alias.push([response.users[i].name,response.users[i].primaryEmail]);
    }
    // For domains with many users, the results are paged
    if (response.nextPageToken) {
      options_alias.pageToken = response.nextPageToken;
    }
  } while (response.nextPageToken);

  // Insert data in a spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Users-Aliases") || ss.insertSheet("Users-Aliases", 1);
  sheet.getRange(1,1,users_alias.length, users_alias[0].length).setValues(users_alias);
  var sheet2=ss.getSheetByName('AnotherSheet')
  var rg2=sheet2.getRange(1,1,users_alias.length,1);
  var vA2=rg2.getValues();
  for(var i=0;i<vA2.length;i++) {
    vA2[i][0]=users_alias[i][1];
  }
  rg2.setValues(vA2);
}
函数AliasDomainUsersList(){
var用户_别名=[];
变量选项\u别名={
域名:“northstarmoving.com”,//谷歌应用程序域名
顾客:“我的顾客”,
最大结果:100,
投影:“完整”//获取用户的基本详细信息
viewType:“域\公共”,
orderBy:“电子邮件”//按用户对结果排序”
}
做{
var response=AdminDirectory.Users.list(选项\别名);

对于(var i=0;i我认为类似的方法可能有效。我没有测试过,因为我是我的商业账户中唯一的人

function AliasDomainUsersList() {
  var users_alias = [];
  var options_alias = {
    domain: "northstarmoving.com",     // Google Apps domain name
    customer: "my_customer",
    maxResults: 100,
    projection: "full",      // Fetch basic details of users
    viewType: "domain_public",
    orderBy: "email"          // Sort results by users
  }

  do {
    var response = AdminDirectory.Users.list(options_alias);
    for(var i=0;i<response.users.length;i++) {//you will probably want to do this your way. 
      users_alias.push([response.users[i].name,response.users[i].primaryEmail]);
    }
    // For domains with many users, the results are paged
    if (response.nextPageToken) {
      options_alias.pageToken = response.nextPageToken;
    }
  } while (response.nextPageToken);

  // Insert data in a spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Users-Aliases") || ss.insertSheet("Users-Aliases", 1);
  sheet.getRange(1,1,users_alias.length, users_alias[0].length).setValues(users_alias);
  var sheet2=ss.getSheetByName('AnotherSheet')
  var rg2=sheet2.getRange(1,1,users_alias.length,1);
  var vA2=rg2.getValues();
  for(var i=0;i<vA2.length;i++) {
    vA2[i][0]=users_alias[i][1];
  }
  rg2.setValues(vA2);
}
函数AliasDomainUsersList(){
var用户_别名=[];
变量选项\u别名={
域名:“northstarmoving.com”,//谷歌应用程序域名
顾客:“我的顾客”,
最大结果:100,
投影:“完整”//获取用户的基本详细信息
viewType:“域\公共”,
orderBy:“电子邮件”//按用户对结果排序”
}
做{
var response=AdminDirectory.Users.list(选项\别名);

for(var i=0;i在一些帮助下成功地解决了这个问题。下面是:

  function getDomainUsersList() {

  var users = [];
  var options = {
    domain: "northstarmoving.com", // Google Apps domain name
    customer: "my_customer",
    maxResults: 500,
    projection: "full",      // Fetch details of users
    viewType: "domain_public",
    orderBy: "email"          // Sort results by users
  }

  do {
    var response = AdminDirectory.Users.list(options);
    response.users.forEach(function(user) {
      users.push([user.name.fullName, user.primaryEmail]);
    });

    // For domains with many users, the results are paged
    if (response.nextPageToken) {
      options.pageToken = response.nextPageToken;
    }
  } while (response.nextPageToken);

  // Insert data in a spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Users") || ss.insertSheet("Users", 1);
  sheet.getRange(1,1,users.length, users[0].length).setValues(users);

}

(在一些帮助下)设法找到了解决方案。以下是:

  function getDomainUsersList() {

  var users = [];
  var options = {
    domain: "northstarmoving.com", // Google Apps domain name
    customer: "my_customer",
    maxResults: 500,
    projection: "full",      // Fetch details of users
    viewType: "domain_public",
    orderBy: "email"          // Sort results by users
  }

  do {
    var response = AdminDirectory.Users.list(options);
    response.users.forEach(function(user) {
      users.push([user.name.fullName, user.primaryEmail]);
    });

    // For domains with many users, the results are paged
    if (response.nextPageToken) {
      options.pageToken = response.nextPageToken;
    }
  } while (response.nextPageToken);

  // Insert data in a spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Users") || ss.insertSheet("Users", 1);
  sheet.getRange(1,1,users.length, users[0].length).setValues(users);

}

你有错误吗?有什么问题吗?我在弄清楚如何访问和添加所有用户别名时遇到了问题。现在,这段代码将把所有用户写入一个Google工作表,这很好。但是,我正在尝试将所有用户别名写入一个单独的工作表,这就是我遇到的问题。只是一些基本的问题,比如访问alias数组的元素对我不起作用。好吧。那么忽略我当前的答案。你有错误吗?有什么问题吗?我在想如何访问和添加所有用户别名时遇到了困难。现在,这段代码将把所有用户写入Google工作表,这很好。但是,我正在尝试将所有用户别名写入一个单独的工作表,这是我遇到问题的部分。仅访问alias数组元素之类的基本操作对我不起作用。好的。然后忽略我当前的答案。嗨,Cooper,再次感谢您的帮助。不幸的是,此输出包括alias和非alias用户。我已设法找到解决方案(在一些帮助下)。这里是:嗨,Cooper,再次感谢您的帮助。不幸的是,此输出同时包括别名和非别名用户。在一些帮助下,已设法制定出解决方案。这里是: