private static async Task <string> ProcessDelta(GraphService graphClient, ILogger log, string driveId = null, string deltaLink = null) { string deltaRequestUrl = deltaLink; TeamProvisioning.Initialize(graphClient, log); var delta = await graphClient.GetListDelta(driveId, deltaRequestUrl); foreach (var item in delta.CurrentPage) { await ProcessDriveItem(graphClient, item); } while (delta.NextPageRequest != null) { // There are more pages of results delta = await delta.NextPageRequest.GetAsync(); foreach (var item in delta.CurrentPage) { await ProcessDriveItem(graphClient, item); } } // Get the delta link object newDeltaLink; delta.AdditionalData.TryGetValue("@odata.deltaLink", out newDeltaLink); return(newDeltaLink.ToString()); }
private static async Task <string> ProcessDelta(GraphService graphClient, ILogger log, string driveId = null, string deltaLink = null) { string deltaRequestUrl = deltaLink; TeamProvisioning.Initialize(graphClient, log); Microsoft.Graph.IDriveItemDeltaCollectionPage delta = null; try { delta = await graphClient.GetListDelta(driveId, deltaRequestUrl); } catch (Microsoft.Graph.ServiceException ex) { if (ex.Error.Code == "resyncRequired") { delta = await graphClient.GetListDelta(driveId, null); } } foreach (var item in delta.CurrentPage) { await ProcessDriveItem(graphClient, item); } while (delta.NextPageRequest != null) { // There are more pages of results delta = await delta.NextPageRequest.GetAsync(); foreach (var item in delta.CurrentPage) { await ProcessDriveItem(graphClient, item); } } // Get the delta link object newDeltaLink; delta.AdditionalData.TryGetValue("@odata.deltaLink", out newDeltaLink); return(newDeltaLink.ToString()); }