Получить идентификатор электронной почты из каталога AdminDirectory, используя имя - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь получить идентификатор электронной почты пользователя из каталога администратора, используя его / ее имя, полученное из электронной таблицы, которая просто проверяет, существует ли идентификатор электронной почты в каталоге, и если да, показывает его / ее идентификатор электронной почты,вот мой код:

function scanSsheet(){
  var originalSpreadsheet = SpreadsheetApp.openById('xxxxxxxx-xxxxx-xxxxxxx-xxxx').getSheetByName("Form Responses 1");
  var getRange = originalSpreadsheet.getDataRange();
  var data = originalSpreadsheet.getDataRange().getValues();
  for (var i = 1; i < data.length; i++) {
    var volunteerFirstName = data[i][3];
    var volunteerLastName = data[i][4];

    Logger.log('****************Record No: ' + i + '****************');
    Logger.log('volunteerFirstName: ' + data[i][3]);
    Logger.log('volunteerLastName: ' + data[i][4]);

    Logger.log('fetchUser is called');
    var checkUser = fetchUser(volunteerFirstName);
    if(checkUser){
      Logger.log('Email exists');
    }
    else{
      Logger.log('The user doesnot exist in the directory');
    }

  }
}

//Checks if the user exists in the directory or not and display email id if yes
function fetchUser(volunteerFirstName){
   var isUser
   try{
    var email = AdminDirectory.Users.list({givenName: volunteerFirstName}); // This line should fetch email but it is not working
    var user = AdminDirectory.Users.get(email);

    Logger.log('email:' +email);
    isUser = true;
   } catch (e){
    isUser = false;
   }
 return isUser;
} 

Как видно, я использовал var email = AdminDirectory.users.list({givenName: volunteerFirstName}), как видно из кода, для которого я следовал за admin-sdk G-suite, но я не смог получитьидентификатор электронной почты, я делаю что-то не так здесьКроме того, я новичок в скрипте google-apps, пожалуйста, не обращайте внимания, если это глупый вопрос.

1 Ответ

0 голосов
/ 12 июня 2018

Мне удалось получить его и кучу других деталей, используя список пользователей :

function scanSsheet(){
  var originalSpreadsheet = SpreadsheetApp.openById('xxxxxxxx-xxxxx-xxxxxxx-xxxx').getSheetByName("Form Responses 1");
  var getRange = originalSpreadsheet.getDataRange();
  var data = originalSpreadsheet.getDataRange().getValues();
  for (var i = 1; i < data.length; i++) {
    var volunteerFirstName = data[i][3];
    var volunteerLastName = data[i][4];

    Logger.log('****************Record No: ' + i + '****************');
    Logger.log('volunteerFirstName: ' + data[i][3]);
    Logger.log('volunteerLastName: ' + data[i][4]);

    Logger.log('fetchUser is called');
    fetchUser(volunteerFirstName);

  }
}

function fetchUser(volunteerFirstName){
   var pageToken;
   var membersList = AdminDirectory.Users.list({
       domain: 'mydomain.com',
       orderBy: 'email',
       query: volunteerFirstName,
       maxResults: 100,
       pageToken: pageToken
   });  
   Logger.log('membersList:' +membersList);
   } 

Спасибо.

...