使用图 api 列出组中所有成员的列表
List a list of all member from a group using graph api
如何使用 Microsoft Graph api.
显示组中的所有用户
我想要 return 一个组中所有当前成员的列表,但是有多个页面可以遍历它,而这个 return 是一个与我想要的不同的对象。
List<User> users = new List<User>();
var groupAndMembers = await Graph.Groups[groupId].Request().Expand("members").GetAsync();
var usersInGroup = groupAndMembers.Members.ToList();
但是有两个项目我使用这个代码失败了,它 return 只有 20 个成员,当我知道我应该有大约 4000 个用户时,所以我不确定我应该使用什么元素浏览下一个 link.
还有我的第二个问题,它已经被转换成 List 没有直接的方法将它们转换成 List
如果您想列出特定组的所有成员,您可以直接为特定组创建请求。响应类型将为 IGroupMembersCollectionWithReferencesPage
.
您需要获取所有页面并存储每个页面的结果。
List<User> users = new List<User>();
var groupMembers = await Graph.Groups[groupId].Members.Request().GetAsync();
// type of groupMembers.CurrentPage is IList<DirectoryObject>
// User derives from DirectoryObject
// add result for the first page
users.AddRange(groupMembers.CurrentPage.OfType<User>());
// fetch next page
while(groupMembers.NextPageRequest!=null)
{
groupMembers = await groupMembers.NextPageRequest.GetAsync();
users.AddRange(groupMembers.CurrentPage.OfType<User>());
}
如何使用 Microsoft Graph api.
显示组中的所有用户我想要 return 一个组中所有当前成员的列表,但是有多个页面可以遍历它,而这个 return 是一个与我想要的不同的对象。
List<User> users = new List<User>();
var groupAndMembers = await Graph.Groups[groupId].Request().Expand("members").GetAsync();
var usersInGroup = groupAndMembers.Members.ToList();
但是有两个项目我使用这个代码失败了,它 return 只有 20 个成员,当我知道我应该有大约 4000 个用户时,所以我不确定我应该使用什么元素浏览下一个 link.
还有我的第二个问题,它已经被转换成 List 没有直接的方法将它们转换成 List
如果您想列出特定组的所有成员,您可以直接为特定组创建请求。响应类型将为 IGroupMembersCollectionWithReferencesPage
.
您需要获取所有页面并存储每个页面的结果。
List<User> users = new List<User>();
var groupMembers = await Graph.Groups[groupId].Members.Request().GetAsync();
// type of groupMembers.CurrentPage is IList<DirectoryObject>
// User derives from DirectoryObject
// add result for the first page
users.AddRange(groupMembers.CurrentPage.OfType<User>());
// fetch next page
while(groupMembers.NextPageRequest!=null)
{
groupMembers = await groupMembers.NextPageRequest.GetAsync();
users.AddRange(groupMembers.CurrentPage.OfType<User>());
}