Při práci s daty Microsoft 365, jako jsou e‑mailové zprávy, kalendáře, kontakty nebo úkoly, není vždy nutné načítat všechny položky. Je také užitečné mít možnost filtrovat, řadit a načítat konkrétní datové vlastnosti ve vašich e‑mailových aplikacích. Například filtrování zpráv podle odesílatele, řazení kalendářových událostí podle data nebo načtení pouze několika polí může pomoci udržet vaši aplikaci rychlou.
Právě zde přicházejí na řadu dotazy OData. Microsoft Graph podporuje OData, aby vývojářům pomohl filtrovat, řadit a vybírat data přímo na serveru, ještě před tím, než jsou odeslána do vaší aplikace. Výsledkem je vyšší výkon, menší objemy dat a citlivější aplikace.
Aspose.Email for .NET usnadňuje tento proces pomocí své třídy [ODataQueryBuilder][2]. V tomto článku prozkoumáme, jak funguje a jak ji můžete použít k vytvoření dynamických, výkonných dotazů Microsoft Graph v C#.
Proč používat OData dotazy?
Microsoft Graph API nabízí rozsáhlé funkce, ale může být složitá při ručním vytváření dotazů. Parametry OData umožňují filtrování, řazení, stránkování a výběr vlastností na straně serveru, což minimalizuje zpracování na straně klienta. Tento přístup zvyšuje efektivitu tím, že snižuje přenos dat a zrychluje dobu odezvy, což vaše aplikace činí rychlejšími a škálovatelnějšími.
S podporou OData můžete nyní:
- Filtrování zpráv, kontaktů nebo událostí pomocí vlastních podmínek.
- Řazení dat pomocí
OrderBypro vzestupné nebo sestupné pořadí. - Výběr pouze potřebných vlastností pro minimalizaci velikosti payloadu.
- Implementace stránkování pomocí
TopaSkip, ideální pro velké poštovní schránky. - Rozšíření souvisejících entit (např. přílohy) pomocí
Expand. - Počítání a vyhledávání datových sad pro rychlejší přístup.
Tyto funkce jsou přístupné a typově bezpečné prostřednictvím nové třídy [ODataQueryBuilder][2].
Váš .NET komponent pro vytváření dotazů Microsoft Graph v C#
Aspose.Email for .NET je výkonné API pro zpracování e‑mailů, které umožňuje vývojářům pracovat přímo s daty Microsoft 365, Exchange a Outlook v jazyce C#. Podporuje čtení a zápis populárních formátů e‑mailů, jako jsou MSG, EML, PST a MBOX, a integruje se s různými protokoly a službami, včetně Microsoft Graph API.
Pomocí vestavěného [ODataQueryBuilder][2] můžete vytvářet dynamické a typově bezpečné OData dotazy v C#. To usnadňuje filtrování, řazení a získávání konkrétních dat poštovní schránky – zpráv, kontaktů nebo kalendářních událostí, aniž byste museli ručně psát složité řetězce dotazů.
Přenesením logiky dotazů na server Microsoft Graph pomáhá Aspose.Email for .NET vývojářům vytvářet rychlejší, efektivnější a škálovatelnější aplikace, které komunikují s daty Microsoft 365.
Pro zahájení instalujte balíček Aspose.Email NuGet do svého projektu .NET:
Install-Package Aspose.Email
Tento balíček obsahuje všechny potřebné třídy, které splní vaše potřeby.
Představení třídy ODataQueryBuilder
Třída [Aspose.Email.Clients.Graph.ODataQueryBuilder][2] je vytvořena pro zjednodušení psaní dotazů Graph. Můžete ji použít s několika metodami klienta Graph, včetně:
ListFoldersListMessagesListContactsListCalendarItemsListAttachmentsListCategoriesListOverridesListRulesListTaskListsListTasksListNotebooks
Každý podporuje volitelný parametr ODataQueryBuilder pro pokročilé filtrování, řazení, stránkování a výběr přímo ve vašich požadavcích na Graph.
Praktický příklad: filtrování a řazení dat poštovní schránky
Níže uvedený ukázkový kód demonstruje jak základní, tak pokročilé scénáře dotazování. Ukazuje řazení složek a pokročilé filtrování zpráv, ilustruje OData parametry pro řazení, kritéria, stránkování, vybraná pole a rozšíření souvisejících entit.
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);
Reálné scénáře
Zvažte některé praktické situace, ve kterých lze [ODataQueryBuilder][2] použít ke zlepšení práce s daty Microsoft Graph ve vašich .NET aplikacích:
1. UI Folder Lists
Seřaďte složky abecedně [OrderBy][3] = "name asc" pro čisté uživatelské rozhraní.
2. Vlastní filtrování
Použijte [Filter][4] k nalezení zpráv od konkrétních odesílatelů nebo s určitými předměty.
3. Stránkování velkých poštovních schránek
Kombinujte [Top][5] a [Skip][6] pro rozdělení obrovských poštovních schránek na zvládnutelné výsledky.
4. Vybrat konkrétní vlastnosti
Načtěte pouze pole, která potřebujete, pomocí [Select][7], abyste minimalizovali zatížení a zrychlili výkon.
5. Zahrnout související data
Použijte [Expand][8] k zahrnutí příloh, kategorií nebo vláken v jednom dotazu.
Tipy pro efektivní využití OData
- Potvrďte, že váš GraphClient přesně určuje Resource, ResourceId a EndPoint.
- Vyberte vhodného poskytovatele ověřování, například [AzureConfidentialTokenProvider][13].
- Kombinujte [Filter][4], [Select][7], [OrderBy][3] a [Top][5] pro optimální dotazy.
- Využijte [Count][14] pro celkový počet položek bez načítání všech dat.
- Připravte logiku stránkování pro efektivní zpracování velkých datových sad.
Závěr
V tomto článku jsme se naučili, jak používat třídu [ODataQueryBuilder][2] knihovny Aspose.Email for .NET pro vytváření a spouštění dotazů Microsoft Graph. Místo ručního sestavování syntaxe OData můžete nyní vytvářet typově bezpečné, dynamické a čitelné dotazy přímo ve svém C# kódu. Zavedení podpory OData dotazů v Aspose.Email for .NET umožňuje vývojářům vytvářet chytřejší a efektivnější aplikace, které komunikují s Microsoft Graph.
Připraveni vytvářet rychlejší a efektivnější aplikace .NET s Microsoft Graph?
- Stáhnout nejnovější Aspose.Email for .NET
- Prozkoumat další ukázky kódu v API dokumentace
- Stáhnout zdarma 30denní dočasnou licenci pro vyhodnocení knihovny bez omezení.
