グループ管理したい(GroupsApp

const group = GroupsApp.getGroupByEmail("Googleグループのアドレス");
const users = group.getUsers();
console.log("メンバー数 = " + users.length);

GroupsAppクラスを使って、Googleグループを管理できます。 ただし、無料のGoogleグループでは、グループメンバーの追加/削除などはできません。

グループのメンバー一覧を取得したい

function get_group_members(groupMail, spreadsheetId, sheetName) {
  // あるMLのメンバー一覧を取得し、指定したスプレッドシートに書き込む
  // スプレッドシートはすでに作成済み

  // groupMail = メーリングリストのアドレス
  // spreadsheetID = スプレッドシートのID
  // sheetName = シート名

  // Googlegroupsの登録メンバーを取得する
  const group = GroupsApp.getGroupByEmail(groupMail);
  const users = group.getUsers();

  // 書き込むためのスプレッドシートを開く
  const sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);

  // シートの内容を全て削除する
  sheet.clear();

  // 開始時刻
  const startTime = Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy-MM-dd HH:mm:ss")
  Logger.log(startTime)

  // 見出し用の列を作成する
  // 1行目: 最終更新日
  sheet.getRange("A1").setValue("Last Updated")
  sheet.getRange("B1").setValue(startTime)
  // 2行目: メンバー数
  sheet.appendRow(["users", users.length]);
  // 3行目: 見出し(Role, Email)
  sheet.appendRow(["Role", "Email"])

  // メンバーの役割(Role)とメールアドレスをシートに追加する
  // Utilities.sleepをしないと、アクセス回数が早すぎてエラーになる
  for (const user of users) {
    sheet.appendRow([group.getRole(user), user.getEmail()]);
    Utilities.sleep(500);
  }

  // ソート
  // Role列(A列)でソートする(逆順)
  // OWNER -> MEMBER -> INVITED の順番にする
  sheet.sort(1, ascending=false)

  // 終了時刻
  // 1行目の最終更新日を書き換える
  const endTime = Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy-MM-dd HH:mm:ss")
  Logger.log(endTime)
  sheet.getRange("A1").setValue("Last Updated")
  sheet.getRange("B1").setValue(endTime)

  return sheet;
}

function get_group_members_of_YOURGROUP() {
  const groupMail = "グループのアドレス";
  const ssId = "作成済みのスプレッドシートID";
  const name = "作成済みのシートID"
  sheet = writeGroupMembers(groupMail, ssId, name);
}