Caricare i messaggi di posta elettronica di un utente in batch
È stata creata un'app ASP.NET, è stata connessa a Microsoft 365 e sono stati visualizzati gli ultimi 10 messaggi di posta elettronica dell'utente usando Microsoft Graph. Ora l'app verrà estesa per consentire agli utenti di caricare messaggi di posta elettronica in batch di 10 elementi.
Recuperare i dati di paging con Microsoft Graph
Quando si chiama un'API Microsoft Graph che restituisce una raccolta di dati, si riceve un sottoinsieme dei dati archiviati in Microsoft 365. Per verificare se l'app deve recuperare altri dati, controllare se la risposta contiene un valore di richiesta della pagina successiva. Per accedere a questo valore, usare la proprietà NextPageRequest
dell'oggetto risposta, come illustrato nel metodo GetNextLink()
:
private string GetNextLink(IUserMessagesCollectionPage pagedMessages) {
if (pagedMessages.NextPageRequest != null)
{
// Get the URL for the next batch of records
return pagedMessages.NextPageRequest.GetHttpRequestMessage().RequestUri?.OriginalString;
}
return null;
}
La chiamata a pagedMessages.NextPageRequest.GetHttpRequestMessage()
restituisce un URL completo che è possibile chiamare per recuperare la pagina di risultati successiva. Vengono mantenuti tutti i dati di configurazione della richiesta iniziale, tra cui le proprietà da recuperare, l'ordinamento dei dati e il numero di elemento da recuperare.
Per caricare il batch di dati successivo, passare l'URL restituito dal metodo GetNextLink()
unitamente all'istanza di GraphServiceClient
all'oggetto UserMessagesCollectionRequest
:
// Use the next page request URI value to get the page of messages
var messagesCollectionRequest = new UserMessagesCollectionRequest(nextPageLink, _graphServiceClient, null);
pagedMessages = await messagesCollectionRequest.GetAsync();
Dopo il recupero della seconda pagina di risultati, è possibile chiamare il metodo GetNextLink()
per verificare se sono disponibili altri dati.
Attenzione
Microsoft Graph segue lo standard OData 4. Una parte dello standard è la possibilità di usare la combinazione di parametri $top
e $skip
(i metodi Top
e Skip
in Microsoft Graph SDK) per recuperare una pagina di dati specifica. Ciò non è possibile quando si usano i messaggi di posta elettronica perché una cartella di posta elettronica può contenere dati diversi da quelli che potrebbero influire sul paging. Questo è il motivo per cui quando si usano i messaggi di posta elettronica, è consigliabile usare sempre la tecnica descritta in precedenza per caricare altri dati.
Passaggi successivi
L'app verrà estesa per consentire agli utenti di caricare altri messaggi di posta elettronica in batch.