Class GroupsApp

グループアプリ

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

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

const groups = GroupsApp.getGroups();
Logger.log(`You belong to ${groups.length} groups.`);

プロパティ

プロパティタイプ説明
RoleRole

メソッド

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

詳細なドキュメント

getGroupByEmail(email)

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

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

const group = GroupsApp.getGroupByEmail('example@googlegroups.com');
const 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() {
  const groups = GroupsApp.getGroups();
  let str = `You are in ${groups.length} groups: `;
  for (let i = 0; i < groups.length; i++) {
    const group = groups[i];
    str = `${str + group.getEmail()} `;
  }
  Logger.log(str);
}
グループ B のメンバーで、そのグループ B が別のグループ A のメンバーである場合、そのユーザーはグループ A に間接的に登録されています。「親」グループ A に送信されたメッセージのコピーを受信しても、実際にはグループに登録されていません。

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

戻る

Group[] - ユーザーが直接メンバーになっているグループのリスト。

承認

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

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