有没有办法从 google 组中提取联系信息?

Is there a way to extract contact information from a google group?

我有一个脚本可以从 google 组中提取所有电子邮件地址。

我需要提取与每个电子邮件地址关联的全名,此信息存储在联系人应用程序中。

看来我只能从群组中提取电子邮件地址和角色信息,有没有办法将这些信息link发送到联系人应用程序以提取他们的全名?

值得注意的是,我没有管理员权限,所以无法使用 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)
  }

我正在考虑连接这样的脚本,但似乎无法让它在我的 sheet 范围内的电子邮件地址列表上工作,即使我将它分开

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

任何帮助将不胜感激,我远不是这方面的专家!

您可以直接连接 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()+" ";
      }
    }
  }