Вызов API для directory.members.list завершился ошибкой: недостаточно прав: у запроса недостаточно областей проверки подлинности - PullRequest
0 голосов
/ 02 марта 2020

**** Отредактировано 13.03.2020 *****

Привет, ребята, это полная функция:

function AddNewMember(LastEntryMail)
{
    var NewMember = 
        {
         email: LastEntryMail,  
         role: 'MEMBER'
        };
    var MemberExist = false;
    var pageToken, page;
    var groupEmail = 'members@mydomain.com';
    var groupDomainName = 'mydomain.com';

    do 
    {
        page = AdminDirectory.Members.list(groupEmail,{
        domain: groupDomainName,
        orderBy: 'Email',
        maxResults: 1000,
        pageToken: pageToken
        });
      var GroupMembers = page.members;
      for (var m in GroupMembers) 
      {
        var email = GroupMembers[m].email;
        if(email.toLowerCase() == LastEntryMail)     
        {
          MemberExist = true;
          break; //stop the for loop
        }
      }
      if(MemberExist == true)
      {
       break; //stop the do loop
      }
      else //new member email was not found in current page members list. go to next page
      {
       pageToken = page.nextPageToken;
      }
    } while (pageToken && !MemberExist);

    if(MemberExist == false)
    {
       try
       {
        AdminDirectory.Members.insert(NewMember, groupEmail);
        Logger.log('User %s added as a member of group %s.', LastEntryMail, groupEmail);
        var AddNewMember = 'MemberAddedToGroup';
       }
       catch(e)
       {
         Logger.log(LastEntryMail+"has invoked an error"+groupEmail);  
       }
    }
  }

Дело в том, что он также не воспроизводит на моем конце. Я ничего не изменил в коде или в настройках проекта. это может быть твик на сервере Google? Спасибо

****** Окончание обновления 13.03.2020 *********************

У меня есть функция для добавления новых членов в мою группу. ниже приведена часть, где я читаю список из домена:

 page = AdminDirectory.Members.list(groupEmail,{
        domain: groupDomainName,
        orderBy: 'Email',
        maxResults: 1000,
        pageToken: pageToken
        });
      var GroupMembers = page.members;

Проблема в том, что каждый раз, когда я запускаю функцию, я получаю:

GoogleJsonResponseException: вызов API to directory.members.list с ошибкой: Недостаточное разрешение: у запроса недостаточно областей проверки подлинности

Я включил Admin Directory API в проекте Advanced Google Services Я также проверил в консоли AppScript в области Project OAuth, что у меня правильный URL-адрес области: https://www.googleapis.com/auth/admin.directory.group

У меня работает точно такая же функция под другим моим проектом с теми же правами доступа, и он работает нормально.

Что мне не хватает? спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...