Caricare i messaggi di posta elettronica di un utente in batch

Completato

È 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.