Lorsque vous travaillez avec les données Microsoft 365, telles que les e‑mails, les calendriers, les contacts ou les tâches, il n’est pas toujours nécessaire de récupérer tous les éléments. Il est également utile de pouvoir filtrer, trier et récupérer des propriétés de données spécifiques dans vos applications de messagerie. Par exemple, filtrer les messages par expéditeur, trier les événements du calendrier par date ou récupérer uniquement quelques champs peut aider à garder votre application rapide.
C’est là que les requêtes OData entrent en jeu. Microsoft Graph prend en charge OData pour aider les développeurs à filtrer, trier et sélectionner les données directement sur le serveur avant même qu’elles ne soient envoyées à votre application. Le résultat est une meilleure performance, des charges utiles plus petites et des applications plus réactives.
Aspose.Email for .NET rend ce processus simple grâce à sa classe [ODataQueryBuilder][2]. Dans cet article, nous explorerons son fonctionnement et comment vous pouvez l’utiliser pour créer des requêtes Microsoft Graph dynamiques et puissantes en C#.
Pourquoi utiliser les requêtes OData ?
L’API Microsoft Graph offre de nombreuses fonctionnalités, mais peut être complexe lors de la création manuelle de requêtes. Les paramètres OData permettent le filtrage, le tri, la pagination et la sélection de propriétés côté serveur, ce qui minimise le traitement côté client. Cette approche améliore l’efficacité en réduisant le transfert de données et en accélérant les temps de réponse, rendant vos applications plus rapides et plus évolutives.
Avec la prise en charge d’OData, vous pouvez désormais :
- Filtrer les messages, contacts ou événements à l’aide de conditions personnalisées.
- Trier les données via
OrderBypour un ordre croissant ou décroissant. - Sélectionner uniquement les propriétés nécessaires afin de réduire la taille de la charge utile.
- Mettre en œuvre la pagination à l’aide de
TopetSkip, idéal pour les boîtes aux lettres volumineuses. - Développer les entités liées (par ex., les pièces jointes) avec
Expand. - Compter et rechercher des ensembles de données pour un accès plus rapide.
Ces capacités sont accessibles et sécurisées par type grâce à la nouvelle classe [ODataQueryBuilder][2].
Votre composant .NET pour créer des requêtes Microsoft Graph en C#
Aspose.Email for .NET est une API puissante pour le traitement des e‑mails qui permet aux développeurs de travailler directement avec les données Microsoft 365, Exchange et Outlook en C#. Elle prend en charge la lecture et l’écriture des formats d’e‑mail populaires, tels que MSG, EML, PST et MBOX, et s’intègre à divers protocoles et services, y compris l’API Microsoft Graph.
En utilisant le [ODataQueryBuilder][2] intégré, vous pouvez créer des requêtes OData dynamiques et sécurisées en termes de type en C#. Cela facilite le filtrage, le tri et la récupération de données de boîte aux lettres spécifiques - messages, contacts ou événements de calendrier - sans avoir à écrire manuellement des chaînes de requête complexes.
En déléguant la logique des requêtes au serveur Microsoft Graph, Aspose.Email for .NET aide les développeurs à créer des applications plus rapides, plus efficaces et évolutives qui interagissent avec les données Microsoft 365.
Pour commencer, installez le package NuGet Aspose.Email dans votre projet .NET:
Install-Package Aspose.Email
Ce package comprend toutes les classes nécessaires pour répondre à vos besoins.
Présentation de la classe ODataQueryBuilder
La classe [Aspose.Email.Clients.Graph.ODataQueryBuilder][2] est conçue pour simplifier la façon dont vous écrivez des requêtes Graph. Vous pouvez l’utiliser avec plusieurs méthodes du client Graph, notamment :
ListFoldersListMessagesListContactsListCalendarItemsListAttachmentsListCategoriesListOverridesListRulesListTaskListsListTasksListNotebooks
Chacun prend en charge un paramètre optionnel ODataQueryBuilder pour le filtrage avancé, le tri, la pagination et la sélection, directement dans vos requêtes Graph.
Exemple pratique : filtrer et trier les données de la boîte aux lettres
L’exemple de code ci-dessous montre à la fois des scénarios de requête de base et avancés. Il présente le tri des dossiers et le filtrage avancé des messages, illustrant les paramètres OData pour l’ordre, les critères, la pagination, les champs sélectionnés et l’expansion des entités liées.
var accessParameters = Settings.User1;
var provider = new AzureConfidentialTokenProvider(
accessParameters.TenantId,
accessParameters.ClientId,
accessParameters.ClientSecret);
var client = GraphClient.GetClient(provider, accessParameters.TenantId);
client.Resource = Aspose.Email.Clients.Graph.ResourceType.Users;
client.ResourceId = accessParameters.Username;
client.EndPoint = "https://graph.microsoft.com";
// List folders sorted by name
var builder = new ODataQueryBuilder { OrderBy = "name asc" };
var folders = client.ListFolders(builder);
foreach (var folder in folders)
Console.WriteLine(folder.DisplayName);
// Advanced message filtering
var folderId = folders.Find(x => x.DisplayName == "Inbox").ItemId;
builder = new ODataQueryBuilder {
Filter = "startswith(name,'A')",
OrderBy = "name asc",
Top = 10,
Skip = 5,
Select = new[] { "name", "age" },
Expand = new[] { "children", "parents" },
Count = true,
Search = "\"John Doe\"",
Format = "json"
};
var msgs = client.ListMessages(folderId, builder);
foreach (var msg in msgs)
Console.WriteLine(msg.Subject);
Scénarios du monde réel
Considérez quelques situations pratiques où le [ODataQueryBuilder][2] peut être appliqué pour améliorer le travail avec les données Microsoft Graph dans vos applications .NET :
1. Listes de dossiers UI
Trier les dossiers par ordre alphabétique [OrderBy][3] = "name asc" pour une interface utilisateur propre.
2. Filtrage personnalisé
Utilisez [Filter][4] pour trouver des messages provenant d’expéditeurs spécifiques ou avec certains sujets.
3. Pagination de grandes boîtes aux lettres
Combinez [Top][5] et [Skip][6] pour décomposer les boîtes aux lettres volumineuses en résultats gérables.
4. Sélectionner des propriétés spécifiques
Récupérez uniquement les champs dont vous avez besoin avec [Select][7] pour minimiser la charge utile et accélérer les performances.
5. Inclure les données associées
Utilisez [Étendre][8] pour inclure les pièces jointes, les catégories ou les fils de discussion dans une seule requête.
Conseils pour une utilisation efficace d’OData
- Confirmez que votre GraphClient spécifie correctement Resource, ResourceId et EndPoint.
- Choisissez un fournisseur d’authentification approprié, tel que [AzureConfidentialTokenProvider][13].
- Combinez [Filter][4], [Select][7], [OrderBy][3] et [Top][5] pour des requêtes optimales.
- Utilisez [Count][14] pour obtenir le nombre total d’éléments sans charger toutes les données.
- Préparez la logique de pagination pour gérer efficacement les grands ensembles de données.
Conclusion
Dans cet article, nous avons appris comment utiliser la classe [ODataQueryBuilder][2] de la bibliothèque Aspose.Email for .NET pour créer et exécuter des requêtes Microsoft Graph. Au lieu de composer manuellement la syntaxe OData, vous pouvez désormais créer des requêtes typées, dynamiques et lisibles directement dans votre code C#. L’introduction de la prise en charge des requêtes OData dans Aspose.Email for .NET permet aux développeurs de créer des applications plus intelligentes et plus efficaces qui interagissent avec Microsoft Graph.
Prêt à créer des applications .NET plus rapides et plus efficaces avec Microsoft Graph ?
- Télécharger la dernière version Aspose.Email for .NET
- Explorer plus d’exemples de code dans la Documentation de l’API
- Télécharger une licence temporaire de 30 jours gratuite pour évaluer la bibliothèque sans limitations.
