Я пытаюсь использовать скрипт приложений Google, чтобы получить группу по ее адресу электронной почты. Здесь есть только одна строка кода, которая действительно имеет значение.
Строка, о которой идет речь:
var WSGroup = GroupsApp.getGroupByEmail("Group_Email_Address@domain.com");
Я знаю, что адрес электронной почты правильный. Я знаю, что пишется правильно. Я открыл заявку в своей консоли администратора с замечательными людьми из службы поддержки Google и подтвердил, что у рассматриваемой группы есть те же настройки, что и у другой группы, которая, как я знаю, работает. У меня вопрос такой. Почему код не может найти эту группу, если тот же код найдет другие группы с такими же настройками разрешений. Буду признателен за любую помощь, прежде чем повторный удар моей головой о стену нанесет непоправимый урон.
function getGroups(){
//gets the current users email address then checks it against all the groups listed below.
//When the user is found in that group the proper excel sheet gets their time stamp and their doc is moved to the right folder.
var check = checkTimes();
//if(check == 1) {
// return 0;
//}
//else {
var user = Session.getActiveUser().getEmail();
try {
//the groups
var CACGroup = GroupsApp.getGroupByEmail("group1@domain.com");
var HSGroup = GroupsApp.getGroupByEmail("group2@domain.com");
var JHGroup = GroupsApp.getGroupByEmail("group3@domain.com");
var JSGroup = GroupsApp.getGroupByEmail("group4@domain.com");
var CSGroup = GroupsApp.getGroupByEmail("group5@domain.com");
var WSGroup = GroupsApp.getGroupByEmail("group6@domain.com"); \\var WSGroup using group6@domain is the line in question.
}
catch(e){
DocumentApp.getUi().prompt("There was an error with your group memberships! Report this to tech! Error: " + e);
}
var doc = DocumentApp.getActiveDocument();
var docID = doc.getId();
//If user is in CAC group timestamp the CAC excel sheet then move the document to the CAC signed docs folder.
try{
if(CACGroup.hasUser(user)){
var googleSheet = SpreadsheetApp.openById('ID of spreadsheet 1');
setStatus(user, googleSheet, doc);
}
if(HSGroup.hasUser(user)){
var googleSheet = SpreadsheetApp.openById('ID of spreadsheet 2');
setStatus(user, googleSheet, doc);
}
if(JHGroup.hasUser(user)){
var googleSheet = SpreadsheetApp.openById('ID of spreadsheet 3');
setStatus(user, googleSheet, doc);
}
if(JSGroup.hasUser(user)){
var googleSheet = SpreadsheetApp.openById('ID of spreadsheet 4');
setStatus(user, googleSheet, doc);
}
if(CSGroup.hasUser(user)){
var googleSheet = SpreadsheetApp.openById('ID of spreadsheet 5');
setStatus(user, googleSheet, doc);
}
if(WSGroup.hasUser(user)){
var googleSheet = SpreadsheetApp.openById('ID of spreadsheet 6');
setStatus(user, googleSheet, doc);
}
}
catch(e){
var prompt = 'There was an issue accessing the excel sheet for your building!' ;
DocumentApp.getUi().alert(prompt);
}
var prompt = 'Document sent to your main office!';
DocumentApp.getUi().alert(prompt);
//}
}
Любой пользователь в домене должен иметь возможность найти группу и просмотреть ее участников. Я уже подтвердил эти настройки в admin.google.com и groups.google.com. Этот же код может найти другие группы, поэтому необходимые API уже разрешены и включены.