Class GroupsApp

GroupsApp

このクラスでは、Google グループの情報にアクセスできます。グループのメールアドレスや、ユーザーが直接メンバーであるグループのリストなどの情報をクエリできます。

現在のユーザーがメンバーになっているグループの数の例を次に示します。

var groups = GroupsApp.getGroups();
Logger.log('You belong to ' + groups.length + ' groups.');

プロパティ

プロパティ種類説明
RoleRole

Methods

メソッド戻り値の型概要
getGroupByEmail(email)Group指定されたメールアドレスを持つグループを取得します。
getGroups()Group[]直接メンバー(または保留中のメンバー)であるすべてのグループを取得します。

詳細なドキュメント

getGroupByEmail(email)

指定されたメールアドレスを持つグループを取得します。グループが存在しない場合、またはグループを表示する権限がない場合は、例外がスローされます。

次の例では、メールアドレスでグループを取得し、現在のユーザーがメンバーかどうかを出力しています。実行する前に、サンプルのメールアドレスを実際のグループのメールアドレスに置き換えます。

var group = GroupsApp.getGroupByEmail("example@googlegroups.com");
var currentUser = Session.getActiveUser();
if (group.hasUser(currentUser)) {
  Logger.log("You are a member of this group.");
}
else {
  Logger.log("You are not a member of this group.");
}

パラメータ

名前説明
emailString取得するグループのメールアドレス。

リターン

Group - 指定したメールアドレスを持つグループ。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/groups

getGroups()

直接メンバー(または保留中のメンバー)であるすべてのグループを取得します。どのグループにも属していない場合は、空のリストになります。グループが存在しない場合、またはグループを表示する権限がない場合は、例外がスローされます。

ユーザーが所属する各グループのメールアドレスを出力する方法の例を次に示します。

function showMyGroups() {
  var groups = GroupsApp.getGroups();
  var str = 'You are in ' + groups.length + ' groups: ';
  for (var i = 0; i < groups.length; i++) {
    var group = groups[i];
    str = str + group.getEmail() + ' ';
  }
  Logger.log(str);
}
グループ B のメンバーであり、さらにそれ自体が別のグループ A のメンバーである場合、間接的にグループ A に登録されています。「親」グループ A に送信されたメッセージのコピーを受信しても、実際にはそのグループに登録しているわけではありません。

Group.getRole(email) を使用すると、返されたグループの既存のメンバーか、保留中のメンバーかを判断できます。

リターン

Group[] - ユーザーが直接のメンバーであるグループのリスト。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/groups