public static async Task <List <Group> > GetGroupsAsync(GraphServiceClient graphClient, HttpContext httpContext) { IGroupDeltaCollectionPage groupsPage = new GroupDeltaCollectionPage(); groupsPage.InitializeNextPageRequest( graphClient, graphClient. Groups. Delta(). Request(). Select("Id,displayName"). RequestUrl); var pageRequestCount = 0; var groups = new List <Group>(); do { groupsPage = await groupsPage.NextPageRequest.GetAsync(CancellationToken.None); groupsPage.ForEach(_ => groups.Add(_)); pageRequestCount++; }while (groupsPage.NextPageRequest != null && pageRequestCount < _maxPageRequestsPerTenant); return(groups); }