【问题标题】:Google Drive to Sheet File Data IterationGoogle Drive 到工作表文件数据迭代
【发布时间】:2021-12-03 19:03:20
【问题描述】:

我在这里找到了这个非常有用的脚本,用于在 GDrive 中按目录迭代地返回文件指标列表。我的问题是我想添加从给定域中排除电子邮件的列。例如,在fileItem.getEditors 上,我可能想要返回一个不包括“@mycompany.com”域中的编辑者的列表。

var childFolders = parent.getFolders();
var childFiles = parent.getFiles();
var allValues = []; // Added
while (childFiles.hasNext()){
  var fileItem = childFiles.next();
  data = [
    parentName + "/" + fileItem.getName() + "/" + fileItem.getName(),
    fileItem.getName(),
    fileItem.getMimeType(),
    fileItem.getUrl(),
    fileItem.getAccess(Session.getActiveUser()),
    fileItem.getSharingPermission(),
    fileItem.isShareableByEditors(),
    fileItem.getOwner().getEmail(),
    fileItem.getEditors().map(function(e){return [e.getEmail(), e.getName()]}).join(","),
    fileItem.getViewers().map(function(e){return [e.getEmail(), e.getName()]}).join(","),
  ];
  allValues.push(data); // Added
}
sheet.getRange(sheet.getLastRow() + 1, 1, allValues.length, allValues[0].length).setValues(allValues); // Added

【问题讨论】:

  • fileItem.getEditors().filter(e => e.getDomain() != "@mycompany.com").map(e => { return [e.getEmail(), e.getName()] }).join(",")
  • 很棒的答案。这个问题是它似乎产生了一个包含@mycompany.com 的列表,我需要一个不包含它的列表。我无法适当地更改它。
  • 也许你没有正确复制它,它应该有一个不等于你的域的域列表。无论如何,将 == 更改为 != 或将 != 更改为 == 应该可以解决问题
  • 没错。这现在完美无缺。谢谢!

标签: javascript google-apps-script google-sheets google-drive-shared-drive


【解决方案1】:

Cooper 的回答已经很棒了,但您不需要在比较中包含 @

通过在获取电子邮件和姓名的map 之前添加filter 来过滤您的数据:

.filter(function(e){e.getDomain() != "mycompany.com"})

输出:

fileItem.getEditors().filter(function(e){e.getDomain() != "mycompany.com"})
                     .map(function(e){return [e.getEmail(), e.getName()]}).join(","),

【讨论】:

  • 它应该只包括那些不是 mycompany.com 的域,因为我们正在使用 != 对其进行过滤。让我们通过here@W.Lyman 了解更多信息
  • 这实际上似乎对我没有任何帮助。
  • 我实际上更喜欢这种格式,而不是 cooper 慷慨提供的缩写函数语言,但我尽我所能让它工作它只是没有产生任何东西。
  • @W.Lyman,我想知道为什么它没有产生任何东西。库珀的缩写答案有效吗?至于我,它的工作方式与库珀输出相同。正确排除具有上述域的电子邮件。 (只要你使用!=
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-08
  • 2019-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多