Ketika bekerja dengan data Microsoft 365, seperti email, kalender, kontak, atau tugas, tidak selalu diperlukan untuk mengambil semua item. Juga berguna untuk dapat memfilter, mengurutkan, dan mengambil properti data tertentu dalam aplikasi email Anda. Misalnya, memfilter pesan berdasarkan pengirim, mengurutkan acara kalender berdasarkan tanggal, atau mengambil hanya beberapa bidang dapat membantu menjaga aplikasi Anda tetap cepat.
Itulah mengapa kueri OData muncul. Microsoft Graph mendukung OData untuk membantu pengembang memfilter, mengurutkan, dan memilih data langsung di server sebelum data tersebut bahkan dikirim ke aplikasi Anda. Hasilnya adalah kinerja yang lebih cepat, payload yang lebih kecil, dan aplikasi yang lebih responsif.
Aspose.Email for .NET membuat proses ini menjadi mudah dengan kelas [ODataQueryBuilder][2]nya. Dalam artikel ini, kita akan menjelajahi cara kerjanya dan bagaimana Anda dapat menggunakannya untuk membangun kueri Microsoft Graph yang dinamis dan kuat dalam C#.
Mengapa Menggunakan Kueri OData?
Microsoft Graph API menawarkan fitur yang luas tetapi dapat menjadi kompleks saat membangun kueri secara manual. Parameter OData memungkinkan penyaringan, pengurutan, paging, dan pemilihan properti di sisi server, yang meminimalkan pemrosesan di sisi klien. Pendekatan ini meningkatkan efisiensi dengan mengurangi transfer data dan mempercepat waktu respons, membuat aplikasi Anda lebih cepat dan lebih skalabel.
Dengan dukungan OData, Anda sekarang dapat:
- Filter pesan, kontak, atau acara menggunakan kondisi khusus.
- Urutkan data melalui
OrderByuntuk urutan naik atau turun. - Pilih hanya properti yang diperlukan untuk meminimalkan ukuran payload.
- Terapkan paging menggunakan
TopdanSkip, ideal untuk kotak surat besar. - Perluas entitas terkait (mis., lampiran) dengan
Expand. - Hitung dan cari dataset untuk akses yang lebih cepat.
Kemampuan ini dapat diakses dan aman tipe melalui kelas baru [ODataQueryBuilder][2].
Komponen .NET Anda untuk Membuat Kueri Microsoft Graph dalam C#
Aspose.Email for .NET adalah API yang kuat untuk memproses email yang memungkinkan pengembang bekerja langsung dengan data Microsoft 365, Exchange, dan Outlook di C#. API ini mendukung pembacaan dan penulisan format email populer, seperti MSG, EML, PST, dan MBOX, serta terintegrasi dengan berbagai protokol dan layanan, termasuk Microsoft Graph API.
Dengan menggunakan [ODataQueryBuilder][2] bawaan, Anda dapat membuat kueri OData yang dinamis dan type‑safe dalam C#. Ini memudahkan penyaringan, pengurutan, dan pengambilan data kotak surat tertentu — pesan, kontak, atau acara kalender — tanpa menulis string kueri yang kompleks secara manual.
Dengan memindahkan logika kueri ke server Microsoft Graph, Aspose.Email for .NET membantu pengembang membuat aplikasi yang lebih cepat, lebih efisien, dan dapat diskalakan yang berinteraksi dengan data Microsoft 365.
Untuk memulai, instal paket NuGet Aspose.Email di proyek .NET Anda:
Install-Package Aspose.Email
Paket ini mencakup semua kelas yang diperlukan untuk memenuhi kebutuhan Anda.
Memperkenalkan Kelas ODataQueryBuilder
Kelas [Aspose.Email.Clients.Graph.ODataQueryBuilder][2] dibangun untuk menyederhanakan cara Anda menulis kueri Graph. Anda dapat menggunakannya dengan beberapa metode klien Graph, termasuk:
ListFoldersListMessagesListContactsListCalendarItemsListAttachmentsListCategoriesListOverridesListRulesListTaskListsListTasksListNotebooks
Setiap mendukung parameter opsional ODataQueryBuilder untuk penyaringan lanjutan, pengurutan, paging, dan pemilihan, langsung di dalam permintaan Graph Anda.
Contoh Praktis: Menyaring dan Mengurutkan Data Kotak Surat
Contoh kode di bawah ini menunjukkan skenario kueri dasar dan lanjutan. Ini menampilkan penyortiran folder dan penyaringan pesan lanjutan, menggambarkan parameter OData untuk urutan, kriteria, paging, bidang yang dipilih, dan perluasan entitas terkait.
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);
Skenario Dunia Nyata
Pertimbangkan beberapa situasi praktis di mana [ODataQueryBuilder][2] dapat diterapkan untuk meningkatkan kerja dengan data Microsoft Graph dalam aplikasi .NET Anda:
1. Daftar Folder UI
Urutkan folder secara alfabetik [OrderBy][3] = "name asc" untuk antarmuka pengguna yang bersih.
2. Penyaringan Kustom
Gunakan [Filter][4] untuk menemukan pesan dari pengirim tertentu atau dengan subjek tertentu.
3. Paginasi Kotak Surat Besar
Gabungkan [Top][5] dan [Skip][6] untuk memecah kotak surat yang sangat besar menjadi hasil yang dapat dikelola.
4. Pilih Properti Spesifik
Ambil hanya bidang yang Anda butuhkan dengan [Select][7] untuk meminimalkan beban dan meningkatkan kinerja.
5. Sertakan Data Terkait
Gunakan [Expand][8] untuk menyertakan lampiran, kategori, atau utas dalam satu kueri.
Tips untuk Pemanfaatan OData yang Efektif
- Pastikan bahwa GraphClient Anda secara akurat menentukan Resource, ResourceId, dan EndPoint.
- Pilih penyedia otentikasi yang tepat, seperti [AzureConfidentialTokenProvider][13].
- Gabungkan [Filter][4], [Select][7], [OrderBy][3], dan [Top][5] untuk kueri yang optimal.
- Manfaatkan [Count][14] untuk jumlah total item tanpa memuat semua data.
- Siapkan logika paging untuk menangani dataset besar secara efisien.
Kesimpulan
Dalam artikel ini, kami telah mempelajari cara menggunakan kelas [ODataQueryBuilder][2] dari pustaka Aspose.Email for .NET untuk membangun dan mengeksekusi kueri Microsoft Graph. Alih‑alih menyusun sintaks OData secara manual, Anda kini dapat membuat kueri yang tipe‑aman, dinamis, dan mudah dibaca langsung dalam kode C# Anda. Pengenalan dukungan kueri OData dalam Aspose.Email for .NET memberdayakan pengembang untuk membangun aplikasi yang lebih pintar dan lebih efisien yang berinteraksi dengan Microsoft Graph.
Siap membangun aplikasi .NET yang lebih cepat dan lebih efisien dengan Microsoft Graph?
- Unduh versi terbaru Aspose.Email for .NET
- Jelajahi lebih banyak contoh kode di Dokumentasi API
- Unduh lisensi sementara 30 hari gratis lisensi sementara 30 hari untuk mengevaluasi perpustakaan tanpa batasan.
