Google Apps Provisioning API を使用して、Google Apps ドメインのグループ設定をいじっています。ドメイン内のすべてのグループのリストを取得しましたが、特定のグループがユーザー管理か管理者管理かを知る必要があります。
その情報を取得する方法がわかりません。誰かがこれについて知っているなら、ここで助けが必要です。ありがとう :)
Google Apps Provisioning API を使用して、Google Apps ドメインのグループ設定をいじっています。ドメイン内のすべてのグループのリストを取得しましたが、特定のグループがユーザー管理か管理者管理かを知る必要があります。
その情報を取得する方法がわかりません。誰かがこれについて知っているなら、ここで助けが必要です。ありがとう :)
プロビジョニングAPIには、次の呼び出しですべてのグループを取得するときに指定できる、文書化されていないフラグがあります。
https://developers.google.com/google-apps/provisioning/#retrieveing_all_groups_in_a_domain
次のように、URIに?skipUserCreatedGroups=Trueを追加した場合。
https://apps-apis.google.com/a/feeds/group/2.0/example.com?skipUserCreatedGroups=True
その後、管理者が作成したグループのみが返されます。このAPI呼び出しによってグループが返されない場合は、ユーザーが管理していることがわかります。
1つのグループだけをチェックするのにはあまり効率的ではありませんが、それで作業は完了します。
Google Apps Script を使用すると、getAllOwners() を使用して所有者リストを取得し、グループの所有者が管理者であるかどうかを確認できます。何かのようなもの:
function isAdminManaged(groupName){
var groupOwners = GroupsManager.getGroup(groupName).getAllOwners();
for (var owner in groupOwners){
var userName = groupOwners[owner];
if(UserManager.getUser(userName).getIsAdmin()){
return true;
}
}
return false;
}