我有一个非常简单的函数,可以检查谷歌(工作区(组是否存在,如果不存在,则创建它。
这个部分工作得很好(组已经创建,我在谷歌管理员dashbard中看到了它(,但如果再次运行相同的功能(在现在创建的组上(,它会失败,并出现非常不具体的错误:An error occurred while looking up roles in the group: mygroupname@mydomain.at
我的最佳猜测是,由于该组创建为空,在访问角色时出现了一些问题,但我加入了一个测试组,仍然会遇到同样的错误。
这是我的简单功能:
function createGroupIfNotExists(email)
{
try
{
var group = GroupsApp.getGroupByEmail(email);
console.log(" [i+] Group "+email+" Found!");
}
catch(e)
{
console.log(e)
console.log(" [i-] Group "+email+" Not found.. creating");
var emailObj = {
"email": email,
"name": "Group "+email,
"description": "the new group of "+email
}
var newGroup = AdminDirectory.Groups.insert( emailObj );
}
}
GroupsApp
文档指定:可以查询其成员以及这些成员在组中的角色的组对象
如果您创建了一个没有成员角色的组,则无法使用GroupsApp检索它-请改用AdminDirectory.Groups.get(email)
:
function createGroupIfNotExists(email)
{
try
{
var group = AdminDirectory.Groups.get(email)// GroupsApp.getGroupByEmail(email);
console.log(" [i+] Group "+email+" Found!");
}
catch(e)
{
console.log(e)
console.log(" [i-] Group "+email+" Not found.. creating");
var emailObj = {
"email": email,
"name": "Group "+email,
"description": "the new group of "+email
}
var newGroup = AdminDirectory.Groups.insert( emailObj );
}
}