グループ内のメンバーとそのロールを持つグループ オブジェクトに対してクエリを実行できます。
グループのメンバーを表示する例を以下に示します。実行する前に、グループのメールアドレスをドメイン上のメールアドレスに置き換えます。
function listGroupMembers() { var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); console.log(group.getEmail() + ':'); var users = group.getUsers(); for (var i = 0; i < users.length; i++) { var user = users[i]; console.log(user.getEmail()); } }
Methods
メソッド | 戻り値の型 | 概要 |
---|---|---|
getEmail() | String | このグループのメールアドレスを取得します。 |
getGroups() | Group[] | グループの直接の子グループを取得します。 |
getRole(email) | Role | グループのコンテキストでのユーザーのロールを取得します。 |
getRole(user) | Role | グループのコンテキストでのユーザーのロールを取得します。 |
getRoles(users) | Role[] | グループのコンテキストでのユーザーロールを取得します。 |
getUsers() | User[] | 対応する既知の Google アカウントを持つグループの直接的なメンバーを取得します。 |
hasGroup(group) | Boolean | グループがこのグループの直接メンバーであるかどうかをテストします。 |
hasGroup(email) | Boolean | グループがこのグループの直接メンバーであるかどうかをテストします。 |
hasUser(email) | Boolean | ユーザーがグループの直接的なメンバーであるかどうかをテストします。 |
hasUser(user) | Boolean | ユーザーがグループの直接的なメンバーであるかどうかをテストします。 |
詳細なドキュメント
getEmail()
このグループのメールアドレスを取得します。
この例では、ユーザーが所属するすべてのグループのメールアドレスを表示します。
function listMyGroupEmails() { var groups = GroupsApp.getGroups(); for (var i = 0; i < groups.length; i++) { console.log(groups[i].getEmail()); } }
リターン
String
- グループのメールアドレス。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups
getGroups()
グループの直接の子グループを取得します。グループのメンバーリストを表示する権限がない場合は、例外をスローします。
この方法に加えて、Admin SDK Directory アドバンス サービスを使用してドメイン内のグループ メンバーを取得することもできます。
function listGroupMembers() { var GROUP_EMAIL = "example@googlegroups.com"; var group = GroupsApp.getGroupByEmail(GROUP_EMAIL); var childGroups = group.getGroups(); console.log("Group " + GROUP_EMAIL + " has " + childGroups.length + " groups:"); for (var i = 0; i < childGroups.length; i++) { var childGroup = childGroups[i]; console.log(childGroup.getEmail()); } }
リターン
Group[]
- グループのすべての直接の子グループ。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups
getRole(email)
グループのコンテキストでのユーザーのロールを取得します。グループの直接メンバーであるユーザーは、そのグループ内で 1 つのロールを持ちます。ユーザーがグループのメンバーでない場合、またはグループのメンバーリストを表示する権限がない場合は、例外をスローします。
次の例では、グループのオーナーを一覧表示します。
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var users = group.getUsers(); console.log('These are the group owners:'); for (var i = 0; i < users.length; i++) { var user = users[i]; if (group.getRole(user.getEmail()) == GroupsApp.Role.OWNER) { console.log(user.getEmail()); } }
パラメータ
名前 | 型 | 説明 |
---|---|---|
email | String | ユーザーのメールアドレス。 |
リターン
Role
- グループ内のこのユーザーのロール。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups
getRole(user)
グループのコンテキストでのユーザーのロールを取得します。グループの直接メンバーであるユーザーは、そのグループ内で 1 つのロールを持ちます。ユーザーがグループのメンバーでない場合、またはグループのメンバーリストを表示する権限がない場合は、例外をスローします。
次の例では、グループのオーナーを一覧表示します。
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var users = group.getUsers(); console.log('These are the group owners:'); for (var i = 0; i < users.length; i++) { var user = users[i]; if (group.getRole(user) == GroupsApp.Role.OWNER) { console.log(user.getEmail()); } }
パラメータ
名前 | 型 | 説明 |
---|---|---|
user | User | 取得するロールを持つユーザー。 |
リターン
Role
- グループ内のこのユーザーのロール。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups
関連ドキュメント
getRoles(users)
グループのコンテキストでのユーザーロールを取得します。グループの直接メンバーであるユーザーは、そのグループ内で 1 つのロールを持ちます。グループのメンバーでない場合、またはグループのメンバーリストを表示する権限がない場合は、例外をスローします。
次の例では、グループのオーナーを一覧表示します。
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var users = group.getUsers(); var roles = group.getRoles(users); console.log('These are the group owners:'); for (var i = 0; i < users.length; i++) { if (roles[i] == GroupsApp.Role.OWNER) { console.log(users[i].getEmail()); } }
パラメータ
名前 | 型 | 説明 |
---|---|---|
users | User[] | ロールがリクエストされているユーザー。 |
リターン
Role[]
- グループ内のユーザーのロール。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups
getUsers()
対応する既知の Google アカウントを持つグループの直接的なメンバーを取得します。グループのメンバーリストまたはメンバーメールアドレスを表示する権限がない場合は、例外がスローされます。
注: グループ B のメンバーで、そのメンバーも別のグループ A のメンバーである場合、間接的にグループ A に登録されています。グループ A に送信されたメッセージのコピーは受信しますが、実際には親グループ A には登録されていません。
グループのメンバーを表示する例を以下に示します。実行する前に、グループのメールアドレスをドメイン上のメールアドレスに置き換えます。
function listGroupMembers() { var GROUP_EMAIL = "example@googlegroups.com"; var group = GroupsApp.getGroupByEmail(GROUP_EMAIL); var users = group.getUsers(); console.log("Group " + GROUP_EMAIL + " has " + users.length + " members:"); for (var i = 0; i < users.length; i++) { var user = users[i]; console.log(user.getEmail()); } }この方法では、Admin SDK Directory アドバンス サービスを使用してドメイン内のグループ メンバーを取得することもできます。
リターン
User[]
- グループの直接的なメンバー。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups
hasGroup(group)
グループがこのグループの直接メンバーであるかどうかをテストします。テスト対象のグループがこのグループより 2 つ以上のレベルにネストされている場合、このメソッドは true
を返しません。グループのメンバーリストを表示する権限がない場合は、例外がスローされます。
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var childGroup = GroupsApp.getGroupByEmail("childgroup@googlegroups.com"); if (group.hasGroup(childGroup)) { console.log("childgroup@googlegroups.com is a child group"); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
group | Group | メンバーシップをテストするグループ。 |
リターン
Boolean
- このグループが子グループである場合は true
、それ以外の場合は false
。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups
hasGroup(email)
グループがこのグループの直接メンバーであるかどうかをテストします。テスト対象のグループがこのグループより 2 つ以上のレベルにネストされている場合、このメソッドは true
を返しません。グループのメンバーリストを表示する権限がない場合は、例外がスローされます。
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); if (group.hasGroup("childgroup@googlegroups.com")) { console.log("childgroup@googlegroups.com is a child group"); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
email | String | グループのメールアドレス。 |
リターン
Boolean
- このグループが子グループである場合は true
、それ以外の場合は false
。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups
hasUser(email)
ユーザーがグループの直接的なメンバーであるかどうかをテストします。グループのメンバーリストを表示する権限がない場合は、例外をスローします。
現在のユーザーがグループのメンバーかどうかを確認する例を次に示します。
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var currentUser = Session.getActiveUser(); if (group.hasUser(currentUser.getEmail())) { console.log("You are a member"); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
email | String | ユーザーのメールアドレス。 |
リターン
Boolean
- そのユーザーがグループのメンバーの場合は true
、そうでない場合は false
。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups
hasUser(user)
ユーザーがグループの直接的なメンバーであるかどうかをテストします。グループのメンバーリストを表示する権限がない場合は、例外をスローします。
現在のユーザーがグループのメンバーかどうかを確認する例を次に示します。
var group = GroupsApp.getGroupByEmail("example@googlegroups.com"); var currentUser = Session.getActiveUser(); if (group.hasUser(currentUser)) { console.log("You are a member"); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
user | User | メンバーシップをテストするユーザー。 |
リターン
Boolean
- そのユーザーがグループのメンバーの場合は true
、そうでない場合は false
。
承認
この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/groups