【发布时间】:2014-04-11 22:24:00
【问题描述】:
Provisioning API 在检索用户所属的组时提供了“directOnly”参数来控制组的范围。我应该从 Provisioning API 迁移 Admin SDK,但我没有找到使用 directOnly=false 为用户检索组的方法。我该如何使用 Directory API?
我实现了以下(伪语言),因为我找不到方法。 但我认为这不是有效的方法。 我想知道“directOnly=false”是否有任何计划。
// 1. List all groups in domain
allGroupsInDomain = ... // "List all groups in domain"
// 2. List all members for each groups
allMembersForGroup = {}
for (group in allGroupsInDomain) {
allMembersForGroup[group] = ... // "List all members for group"
}
// 3. List all users in domain
allUsersInDomain = "List all users in domain"
// 4. List all groups for user(direct only)
allGroupsForUser = {} // I want to get this for all users
for (user in allUsersInDomain) {
directGroupsForUser = ... // "List all groups for user(direct only)"
for (group in directGroupsForUser) {
allGroupsForUser[user].add(group);
allGroupsForUser[user].add(searchAncestorsOf(group));
}
}
// 5. Calculate all groups for user contains not directly group using results of (1,2,3,4)
function searchAncestorsOf(group) {
ancestors = []
for (group_ in allGroupsInDomain) {
if (group_.hasMember(group)) {
ancestors.add(group_);
ancestors.add(searchAncestorsOf(group_));
}
}
return ancestors;
}
【问题讨论】:
-
这是 google tracker 中的问题。请给它加星。 code.google.com/a/google.com/p/apps-api-issues/issues/…
标签: google-admin-sdk