在 Google 应用程序中拉取用户的组成员列表

Pulling a user's group membership list in Google Apps

我正在将我的应用程序转换到目录 API 并试图找到一种使用 .NET 在 google 中提取用户组成员身份的方法。

正在查看 API 页面:Google Apps API

我看到 "Retrieve a Group's Member" 需要组密钥和成员密钥。我在 service.Groups 函数中找不到这个调用。我还查看了 service.Membership 函数,但没有找到任何内容。

提取单个用户组成员资格的 API 在哪里?

更新:

这是我正在尝试使用的电话:

        try
        {
            GroupsResource.ListRequest groups = service.Groups.List();
            groups.Domain = "appDomain.com";
            groups.Customer = strGoogleCusID;
            groups.MaxResults = 100;
            groups.PageToken = "";
            groups.UserKey = "User@appDomain.com";
            var list = groups.Execute();
        }
        catch (Google.GoogleApiException ex)
        {
        }

但它 return 是个糟糕的请求。我可以将此函数用于 return 域中的所有组,但如果我指定 UserKey,我会收到 400 Bad Request。

您可以使用组 -> 列表 API,其中可以指定 userKey。它returns 用户所属的所有组。这是 link - https://developers.google.com/admin-sdk/directory/v1/reference/groups/list

这里的聚会有点晚了,但可能会 post 它以防万一有人需要它。我觉得这很令人沮丧。

Google.Apis.Admin.Directory.directory_v1.GroupsResource.ListRequest lr = new Google.Apis.Admin.Directory.directory_v1.GroupsResource.ListRequest(dirservice);

lr.UserKey = "USER_EMAIL_HERE";

foreach (Group gmem in lr.Execute().GroupsValue)
{
    Console.Writeline(gmem.Email.ToString() + '\n');
}

lr.Execute().GroupsValue 将 return 组对象列表,我只是相应地遍历它。

编辑:

也看看 here - 我想你可能想省略使用 "domain" 属性 并使用 "Customer" 代替..(如果我理解要求正确)。

IList<Group> g = groupsResourceRequest.Execute().GroupsValue;

this.GroupList.DataSource = g.Select(x => x.Email).ToList();

但是,即使是上面的方法,这个方法也有200的上限,请告诉我怎么能超过200。

def retrieving_groups():

    response_group = service.groups().list(customer='my_customer').execute()
    for group in response_group['groups']:
        print(group['email'])

这里是函数,它将return所有组的所有电子邮件地址