Aspose.Email Graph Client ile Outlook Öğelerini Yönetme

Takvim Etkinliklerini Yönet

Aspose.Email, takvim etkinliklerine erişmek, yönetmek ve onlarla etkileşimde bulunmak için API’ler sağlar. Bu amaçlar için şu yöntemleri sunar: IGraphClient arayüz:

  • ListCalendars() - Takvim bilgileri koleksiyonunu alır.
  • ListCalendarItems(string id) - Belirtilen takvim kimliğiyle ilişkili takvim öğeleri koleksiyonunu alır.
  • FetchCalendarItem(string id) - Sağlanan kimliğe göre belirli bir takvim öğesini alır.
  • CreateCalendarItem(string calId, MapiCalendar mapiCalendar) - Belirtilen takvimde yeni bir takvim öğesi oluşturur.
  • UpdateCalendarItem(MapiCalendar mapiCalendar) - Mevcut bir takvim öğesini günceller.
  • UpdateCalendarItem(MapiCalendar mapiCalendar, UpdateSettings updateSettings) - Belirtilen güncelleme ayarlarıyla mevcut bir takvim öğesini günceller.

Aşağıdaki kod örneği, Aspose.Email tarafından sağlanan yöntemleri kullanarak bir Microsoft Graph API istemcisinde takvim etkinlikleriyle nasıl etkileşim kurulacağını gösterir:


// List Calendars
CalendarInfoCollection calendars = graphClient.ListCalendars();

// List Calendar Items
MapiCalendarCollection calendarItems = graphClient.ListCalendarItems("calendarId");

// Fetch Calendar Item
MapiCalendar calendarItem = graphClient.FetchCalendarItem("calendarItemId");

// Create Calendar Item
MapiCalendar newCalendarItem = new MapiCalendar(
    location: "Conference Room",
    summary: "Team Meeting",
    description: "Discuss project status and updates.",
    startDate: startDate,
    endDate: endDate
);

MapiCalendar createdCalendarItem = graphClient.CreateCalendarItem("calendarId", newCalendarItem);

// Update Calendar Item
createdCalendarItem.Location = "Zoom Meeting";
MapiCalendar updatedCalendarItem = graphClient.UpdateCalendarItem(createdCalendarItem);

Mesaj Kategorilerini Yönet

Aspose.Email for .NET ile MS Graph kullanarak kategorileri yönetmek için aşağıdaki yöntemleri kullanın ve aşağıdaki kod örneğini deneyin:

// create a custom category with Orange color
var category = client.CreateCategory("My custom category", CategoryPreset.Preset1);

// fetch a category
var fetchedCategory = client.FetchCategory(category.Id);

// update category (change color to brown)
fetchedCategory.Preset = CategoryPreset.Preset2;
var updatedCategory = client.UpdateCategory(fetchedCategory);

// list available categories
var categories = client.ListCategories();

foreach (var cat in categories)
{
    Console.WriteLine(cat.DisplayName);
}

// delete a category
client.Delete(fetchedCategory.Id);

Kişileri Yönet

Aspose.Email, iletişim öğelerine erişmek, yönetmek ve onlarla etkileşimde bulunmak için API’ler sağlar. Bu amaçlar için aşağıdaki yöntemleri sunar: IGraphClient arayüz:

  • ListContacts(string id) - Belirtilen klasör kimliğiyle ilişkili MAPI kişileri koleksiyonunu alır.
  • FetchContact(string id) - Sağlanan öğe kimliğine göre belirli bir kişiyi alır.
  • CreateContact(string folderId, MapiContact contact) - Belirtilen klasörde yeni bir kişi oluşturur.
  • UpdateContact(MapiContact contact) - Mevcut bir kişiyi günceller.

Aşağıdaki kod örneği, Aspose.Email tarafından sağlanan yöntemleri kullanarak bir Microsoft Graph API istemcisinde kişilerle nasıl etkileşim kurulacağını gösterir:

// List Contacts
MapiContactCollection contacts = graphClient.ListContacts("contactFolderId");

// Fetch Contact
MapiContact contact = graphClient.FetchContact("contactId");

// Create Contact
MapiContact newContact = new MapiContact("Jane Smith", "jane.smith@example.com", "XYZ Corporation", "777-888-999");

MapiContact createdContact = graphClient.CreateContact("contactFolderId", newContact);

// Update Contact
createdContact.Telephones.PrimaryTelephoneNumber = "888-888-999";

MapiContact updatedContact = graphClient.UpdateContact(createdContact);

Geçersiz Kılmaları Yönet

Aspose.Email for .NET ile MS Graph kullanarak geçersiz kılmaları yönetmek için aşağıdaki yöntemleri kullanın:

// Create an user's override
var userOverride = client.CreateOrUpdateOverride
    (new MailAddress("JohnBrown@someorg.com", "JohnBrown"), ClassificationType.Focused);

// list the overrides
var overrides = client.ListOverrides();

// update override
userOverride.Sender.DisplayName = "John Brown";
var updatedOverride = client.UpdateOverride(userOverride);

// delete override
client.Delete(updatedOverride.Id);

Gelen Kutusu Kurallarını Yönet

Aspose.Email for .NET ile MS Graph kullanarak kuralları yönetmek için aşağıdaki yöntemleri kullanın:

// Create a rule
var rule = PrepareRule("user@someorg.com", "User");
var createdRule = client.CreateRule(rule);

// List all rules defined for Inbox
var rules = client.ListRules();

// Fetch a rule
var fetchedRule = client.FetchRule(createdRule.RuleId);

// Update a rule
fetchedRule.DisplayName = "Renamed rule";
fetchedRule.IsEnabled = false;
var updatedRule = client.UpdateRule(createdRule);

// Delete a rule
client.Delete(updatedRule.RuleId);
InboxRule PrepareRule(string email, string displayName)
{
    var rule = new InboxRule()
    {
        DisplayName = "My rule",
        Priority = 1,
        IsEnabled = true,
        Conditions = new RulePredicates(),
        Actions = new RuleActions()
    };

    rule.Conditions.ContainsSenderStrings = new StringCollection { displayName };
    rule.Actions.ForwardToRecipients = new MailAddressCollection
        { new MailAddress(email, displayName, true) };
    rule.Actions.StopProcessingRules = true;

    return rule;
}

OneNote Not Defterlerini Yönet

Aspose.Email for .NET ile MS Graph kullanarak not defterlerini yönetmek için aşağıdaki yöntemleri kullanın:

// create a OneNote notebook
var newNotebook = new Notebook()
{
    DisplayName = "My Notebook"
};
var createdNotebook = client.CreateNotebook(newNotebook);

// fetch a notebook
var fetchedNotebook = client.FetchNotebook(createdNotebook.Id);

// list the notebooks
var notebooks = client.ListNotebooks();

Microsoft Graph’ta Görevleri Yönet

Aspose.Email, geliştiricilere kullanıcıların görevlerine ve görev listelerine erişmek, yönetmek ve etkileşimde bulunmak için aşağıdaki metodları sağlayan API’ler sunar IGraphClient arayüz:

Aşağıdaki kod örneği, görev listelerini nasıl yöneteceğinizi gösterir:

// List Task Lists
var taskLists = graphClient.ListTaskLists();

foreach (var tList in taskLists)
{
    Console.WriteLine($"Task List: {tList.DisplayName}");
}

// Get Task List
var taskList = graphClient.GetTaskList("taskListId");

// Delete Task List
graphClient.DeleteTaskList("taskListId");

Aşağıdaki kod örneği, görevleri nasıl yöneteceğinizi gösterir:

// List Tasks in a Task List
MapiTaskCollection tasks = graphClient.ListTasks("taskListId");

// Fetch Task
MapiTask task = graphClient.FetchTask("taskId");

// Create Task
var newTask = new MapiTask
{
    Subject = "New Task",
    DueDate = new DateTime(2023, 12, 31),
    Status = MapiTaskStatus.NotStarted
};

MapiTask createdTask = graphClient.CreateTask(newTask, "taskListUri");

// Update Task
createdTask.Subject = "Updated Task Subject";
MapiTask updatedTask = graphClient.UpdateTask(createdTask);

// Update Task with UpdateSettings
var updateSettings = new UpdateSettings { SkipAttachments  = true };
MapiTask updatedTaskWithSettings = graphClient.UpdateTask(createdTask, updateSettings);