3

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

查看 API 页面:Google Apps API

我看到“检索组的成员”需要组和成员的密钥。我在 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)
        {
        }

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

4

4 回答 4

2

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

于 2015-01-24T17:19:43.687 回答
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 对象列表,我只是相应地遍历它。

编辑:

也看看这里- 我想你可能想省略使用“域”属性而使用“客户”属性..(如果我正确理解要求)。

于 2015-04-15T06:12:48.600 回答
0
IList<Group> g = groupsResourceRequest.Execute().GroupsValue;

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

但是,即使采用上述方式,这种方法的上限也是200。请告诉我有人如何能超过200。

于 2017-01-25T11:18:00.657 回答
0
def retrieving_groups():

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

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

于 2020-12-28T16:11:39.787 回答