Google api dotnet client 拉动用户';Google应用程序中的组成员列表
我正在将我的应用程序转换为目录API,并试图找到一种方法,使用.NET获取用户在google中的组成员资格 查看API页面: 我看到“检索组的成员”需要组和成员的密钥。我在服务中找不到此呼叫。组功能。我还查看了服务。会员功能,我没有发现任何东西 获取单个用户组成员身份的API在哪里 更新: 这是我正在尝试使用的呼叫:Google api dotnet client 拉动用户';Google应用程序中的组成员列表,google-api-dotnet-client,google-directory-api,Google Api Dotnet Client,Google Directory Api,我正在将我的应用程序转换为目录API,并试图找到一种方法,使用.NET获取用户在google中的组成员资格 查看API页面: 我看到“检索组的成员”需要组和成员的密钥。我在服务中找不到此呼叫。组功能。我还查看了服务。会员功能,我没有发现任何东西 获取单个用户组成员身份的API在哪里 更新: 这是我正在尝试使用的呼叫: try { GroupsResource.ListRequest groups = service.Groups.List(
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个错误请求。您可以使用groups->list API来指定UserKey。它返回用户所属的所有组。这里有一个链接-到这里的聚会有点晚了,但可能会在任何人需要时发布。。这是我感到非常沮丧的事情
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将返回一个组对象列表,我只是相应地遍历它
编辑:
还请看一看-我认为您可能希望省略使用“domain”属性,而使用“Customer”属性。。(如果我正确理解了需求)。IList 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'])
在此函数中,它将返回所有组的所有电子邮件地址您是否正在使用此客户端库?是的,但是我没有找到拉用户组的API调用。我可以为一个用户创建一个组的所有成员,但不能为一个用户创建所有组。您可能需要此组:。所以可能是service.Members.Get(group\u key,member\u key.ExecuteAsync()?如果是的话,请告诉我,我会将此评论更改为答案。不,这只是检查用户是否是单个组的成员。你能在Google API explorer()中找到正确的操作吗?看起来它可能有正确的调用,但.net API似乎不会下拉组列表;我收到了一个错误的请求。查看我更新的问题底部的代码。好的,调用中似乎有错误。如果使用客户ID调用此函数,则会失败(根据上面的API链接,应该可以调用此函数)。但是如果我使用一个域,我可以获得组。问题是,我必须使用客户ID,我的程序没有域别名。。。有什么想法吗?@DaBlue,你想好了吗?如果我同时提供客户id和用户密钥,我会得到一个400错误,如果我只提供一个或另一个,那么它就工作了。我没有时间处理它,所以我将所有组成员身份拉到缓存中,然后用linq在本地处理。。。
def retrieving_groups():
response_group = service.groups().list(customer='my_customer').execute()
for group in response_group['groups']:
print(group['email'])