Caricare i messaggi di posta elettronica di un utente in batch
È stata creata un'app JavaScript, è stata connessa a Microsoft 365 e sono stati visualizzati gli ultimi 10 messaggi di posta elettronica dell'utente usando Microsoft Graph. Ora verrà estesa l'app in modo che gli utenti possano caricare i messaggi di posta elettronica in batch di 10 elementi.
Recupero dei dati di paging usando Microsoft Graph
Quando si chiama un'API Microsoft Graph che restituisce una raccolta di dati, ad esempio l'API dei messaggi usata in precedenza, si riceve un sottoinsieme dei dati archiviati in Microsoft 365. Per verificare se l'app deve recuperare altri dati, verificare se la risposta contiene la proprietà @odata.nextLink
.
var emails = graphClient
.api('/me/messages')
.select('subject,receivedDateTime')
.orderby('receivedDateTime desc')
.top(10)
.get();
if (emails['@odata.nextLink']) {
// more data available
}
La proprietà @odata.nextLink
contiene un URL completo che è possibile chiamare per recuperare la seconda pagina di risultati. Questo URL mantiene tutta la configurazione dalla richiesta iniziale, ad esempio quali proprietà recuperare, come ordinare i dati e quanti elementi ottenere.
Per caricare il batch di dati successivo, passare l'URL restituito in @odata.nextLink
alla proprietà graphClient
:
var emails = graphClient
.api('/me/messages')
.select('subject,receivedDateTime')
.orderby('receivedDateTime desc')
.top(10)
.get();
if (emails['@odata.nextLink']) {
var moreEmails = graphClient
.api(emails['@odata.nextLink'])
.get();
}
Dopo aver recuperato la seconda pagina dei risultati, è possibile verificare se sono disponibili altri dati controllando se i risultati hanno la proprietà @odata.nextLink
impostata.
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 il valore @odata.nextLink
per caricare più dati.
Passaggi successivi
Verrà estesa l'app in modo che consenta agli utenti di caricare più messaggi di posta elettronica in batch.