0

我正在编写一个非常简单的脚本,它将更新文档的查看者。在我的 Google Apps 域中,默认共享权限已更改。我的管理员想返回并更改所有现有文档的共享设置。在我的 POC 上工作时,我遇到了一个错误,我想知道我是否应该使用不同的 GAS。

问题是由于“无效电子邮件”错误,我无法将域用户删除为文档的查看者。

消息是:Exception: Invalid email: MyDomain.com

提前感谢您的任何帮助。

[我从以下代码中删除了日志记录和错误捕获。]

function removeDomainUser()
{
  DocsList.getAllFiles().forEach(
    function (file,i ,array)
    {

        //--Always pick the Domain Viewer--//

        var toRemove = -1;
        file.getViewers().forEach(
          function(user,i)
          {
            toRemove = user.getEmail() == "MyDomain.com" ? i : toRemove;
          }
        );

        //--If there is a Domain viewer, remove it--//

        toRemove > -1 ? file.removeViewer(file.getViewers()[toRemove]) : '';
    }
  );
}
4

2 回答 2

0

不幸的是,使用 DocsList 服务无法做到这一点。有一个开放的功能请求来添加此功能。您应该能够通过使用 UrlFetchApp调用Documents List API来完成此操作。

于 2012-07-30T19:19:58.613 回答
0

我还没有弄清楚您的代码中的错误,但我已经能够使用以下代码实现相同的目标

function removeDomainUser(user){
  //User is your domain user
  // e.g user = email@mydomain.com
  var files = DocsList.getAllFiles();
  for(var i in files){
    var viewvers = files[i].getViewers();
    for(var j in viewvers){
      if(viewvers[j] == user) files[i].removeViewer(user);
    }
  }
}
于 2012-07-30T10:11:20.910 回答