مدیریت آیتم‌های Outlook از طریق Aspose.Email Graph Client

مدیریت رویدادهای تقویم

Aspose.Email APIهایی را برای دسترسی، مدیریت و تعامل با رویدادهای تقویم فراهم می‌کند. برای این منظور، روش‌های زیر را در IGraphClient رابط:

  • ListCalendars() - مجموعه‌ای از اطلاعات تقویم‌ها را بازیابی می‌کند.
  • ListCalendarItems(string id) - مجموعه‌ای از آیتم‌های تقویم مرتبط با شناسه تقویم مشخص‌شده را بازیابی می‌کند.
  • FetchCalendarItem(string id) - یک آیتم تقویم خاص را بر اساس شناسه ارائه‌شده بازیابی می‌کند.
  • CreateCalendarItem(string calId, MapiCalendar mapiCalendar) - یک آیتم تقویم جدید در تقویم مشخص‌شده ایجاد می‌کند.
  • UpdateCalendarItem(MapiCalendar mapiCalendar) - یک آیتم تقویم موجود را به‌روز می‌کند.
  • UpdateCalendarItem(MapiCalendar mapiCalendar, UpdateSettings updateSettings) - یک آیتم تقویم موجود را با تنظیمات به‌روزرسانی مشخص به‌روز می‌کند.

نمونه کد زیر نشان می‌دهد چگونه می‌توان با رویدادهای تقویم در یک کلاینت Microsoft Graph API با استفاده از روش‌های ارائه‌شده توسط Aspose.Email تعامل کرد:


// 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);

مدیریت دسته‌بندهای پیام

برای مدیریت دسته‌بندها با MS Graph توسط Aspose.Email برای .NET، از روش‌های زیر استفاده کنید و نمونه کد زیر را امتحان کنید:

// 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);

مدیریت مخاطبان

Aspose.Email APIهایی را برای دسترسی، مدیریت و تعامل با آیتم‌های مخاطب فراهم می‌کند. برای این منظور، روش‌های زیر را در IGraphClient رابط:

  • ListContacts(string id) - مجموعه‌ای از مخاطبان MAPI مرتبط با شناسه پوشه مشخص‌شده را بازیابی می‌کند.
  • FetchContact(string id) - یک مخاطب خاص را بر اساس شناسه آیتم ارائه‌شده بازیابی می‌کند.
  • CreateContact(string folderId, MapiContact contact) - یک مخاطب جدید در پوشه مشخص‌شده ایجاد می‌کند.
  • UpdateContact(MapiContact contact) - یک مخاطب موجود را به‌روزرسانی می‌کند.

نمونه کد زیر نشان می‌دهد چگونه می‌توان با مخاطبان در یک کلاینت Microsoft Graph API با استفاده از روش‌های ارائه‌شده توسط Aspose.Email تعامل کرد:

// 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);

مدیریت نادیده‌گیری‌ها

برای مدیریت نادیده‌گیری‌ها (overrides) با MS Graph توسط Aspose.Email برای .NET، از روش‌های زیر استفاده کنید:

// 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);

مدیریت قوانین صندوق ورودی

برای مدیریت قوانین با MS Graph توسط Aspose.Email برای .NET، از روش‌های زیر استفاده کنید:

// 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

برای مدیریت دفترچه‌ها با MS Graph توسط Aspose.Email برای .NET، از روش‌های زیر استفاده کنید:

// 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

Aspose.Email به توسعه‌دهندگان APIهایی برای دسترسی، مدیریت و تعامل با وظایف و فهرست‌های وظیفه کاربران ارائه می‌دهد با استفاده از متدهای زیر IGraphClient رابط:

نمونه کد زیر نشان می‌دهد چگونه فهرست‌های وظیفه را مدیریت کنید:

// 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");

نمونه کد زیر نشان می‌دهد چگونه وظایف را مدیریت کنید:

// 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);