Есть ли способ извлечь контактную информацию из группы Google? - PullRequest
0 голосов
/ 07 января 2020

У меня есть скрипт, который извлекает все адреса электронной почты из группы Google.

Мне нужно извлечь полное имя, связанное с каждым адресом электронной почты, эта информация хранится в приложении контактов.

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

Стоит отметить, что У меня нет доступа администратора, поэтому я не могу использовать Admin SDK

Это сценарий, который я использую для получения адресов электронной почты:

function listGroupMembers() {
  var GROUP_EMAIL = "email@emailcom";
  var group = GroupsApp.getGroupByEmail(GROUP_EMAIL);
  var users = group.getUsers();
    var str = "Group " + GROUP_EMAIL + " has " + users.length +
  " members: ";
  for (var i = 0; i < users.length; i++) {
    var user = users[i];
    str = str + user.getEmail() + ", ";
  }
  Logger.log(str);
  var range = SpreadsheetApp.getActiveSheet().getActiveRange().setValue(str)
  }

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

function getUserName(){
var contacts = ContactsApp.getContactsByEmailAddress(query);
for (var i in contacts) {
  Logger.log(contacts[i].getFullName());
}}

Любая помощь будет принята, я я далеко не эксперт по этому вопросу!

1 Ответ

0 голосов
/ 07 января 2020

Вы можете напрямую подключить группы Google и ContactApp, не сохраняя адреса электронной почты в электронной таблице

Образец

function listGroupMembers() {
  var GROUP_EMAIL = "email@emailcom";
  var group = GroupsApp.getGroupByEmail(GROUP_EMAIL);
  var users = group.getUsers();
  var str = "Group " + GROUP_EMAIL + " has " + users.length +
  " members: ";
  for (var i = 0; i < users.length; i++) {
    var user = users[i];
    var email = user.getEmail();
    var contact =  ContactsApp.getContact(email);
    if(contact!=null){
      Logger.log(contact.getFullName());
      str=str+contact.getFullName()+" ";
      }
    }
  }
...