我正在制作一个非常简单的脚本,它将更新文档的查看器。在我的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]) : '';
}
);
}
答案 0 :(得分: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);
}
}
}
答案 1 :(得分:0)
不幸的是,使用DocsList服务是不可能的。有一个open feature request来添加此功能。您应该可以通过使用UrlFetchApp调用Documents List API来完成此操作。