Добавление пользователей в группу Google с помощью скрипта Google Apps - PullRequest
1 голос
/ 27 сентября 2019

Я пытаюсь добавить пользователя в группу Google с помощью Google Apps Script.

Вот код, который я пробовал:

// Adds a user to a Google Group
function addUsertoGroup(userEmail) {
  var userEmail = 'Name@gmail.com'
  var groupId = "group-name@googlegroups.com";
  var group = GroupsApp.getGroupByEmail(groupId);

  // If email is already in group
  try { var hasMember = group.hasUser(userEmail);}
  catch(e){Logger.log(userEmail+" is already in the group"); return}

  var newMember = {email: userEmail, role: "MEMBER"};

  // This is the line which is throwing an error
  AdminDirectory.Members.insert(newMember, groupId);

При запуске я получаю сообщение об ошибке:

Вызов API на directory.groups.get завершился ошибкой: домен не найден.

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

Уточнение :

  • Вы должны иметь учетную запись G Suite, чтобы иметь возможность использовать функцию AdminDirectory (или иметь возможность добавлять пользователей в группу через приложенияСценарий.
  • Вы можете добавить gmail или любых других пользователей домена, не принадлежащих к той же области, на основании настроек группы, которые вы настраиваете с помощью https://groups.google.com

Решение :

У меня есть учетная запись G Suite через script.gs, и я проверил код, которым вы поделились, - это прекрасно :) За исключением следующего, что вам нужно включить, из учетной записи G Suite.

Перейдите к Ресурсы> Расширенные службы Google ... и включите API каталогов администратора

Admin Directory API

Это оно.Я создал группу, включил все настройки, сделал группу доступной для всех, и она работала как чудо.

Дайте мне знать, если вам потребуются какие-либо дополнительные разъяснения или помощь.

0 голосов
/ 30 сентября 2019

Вы пытаетесь использовать службу AdminDirectory, эта служба будет работать только для администратора G Suite в домене G Suite.Таким образом, вам нужно иметь свой домен, и он будет работать, если вы добавите пользователя из своего домена в группу вашего домена.

, т.е. user@domain.com добавлен в group@domain.com

На основе вашего примера кода вы пытаетесь добавить пользователя gmail.com в общедоступные группы Google, для которого вы не можете использовать API каталога администратора, поскольку вы не являетесь администратором домена, управляющего общедоступными группами.

И в этом случае, как и вы, вы можете использовать только сервис GroupsApp, и этот сервис позволяет вам только проверять, входит ли пользователь в ggroups или какова его роль.

=> С помощью сервиса GroupsApp невозможно добавить пользователя в общедоступную группу Google.

Стефан

...