在Google Apps中提取用户的群组成员资格列表

时间:2015-01-18 21:46:17

标签: google-api-dotnet-client google-directory-api

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

查看API页面:Google Apps API

我看到"检索群组成员"这需要一个小组和一个成员的密钥。我无法在service.Groups函数中找到此调用。我也查看了服务。会员功能,我没有找到任何东西。

提取单个用户的群组成员资格的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)
        {
        }

但它返回了错误的请求。我可以使用此函数返回域中的所有组,但如果我指定UserKey,则会收到400 Bad Request。

4 个答案:

答案 0 :(得分:2)

您可以使用群组 - > list API,其中可以指定userKey。它返回用户是memberOf的所有组。这是链接 - https://developers.google.com/admin-sdk/directory/v1/reference/groups/list

答案 1 :(得分:0)

这里的派对有点晚了,但可能会发布,以防有​​人需要它。这是我发现非常令人沮丧的事情。

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将返回一个Group对象列表,我只是相应地迭代它。

编辑:

另外看一下here - 我想你可能想省略使用“域”属性并改用“客户”...(如果我理解正确的要求)。

答案 2 :(得分:0)

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

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

但是,即使按照上述方式,这种方法的上限为200.请告诉我有人可以超过200个。

答案 3 :(得分:0)

def retrieving_groups():

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

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