簡體   English   中英

使用 C# 在 outlook 日歷中創建約會

[英]Create an appointment in outlook calendar with C#

我想在 outlook 日歷中創建約會。我已經編寫了一些代碼,允許您設置自己的約會,但不能正常工作

var pcaOptions = new PublicClientApplicationOptions
      {
          ClientId = "xxxxxx",
          TenantId = "xxxxxx"
      };

 var pca = PublicClientApplicationBuilder.CreateWithApplicationOptions(pcaOptions).Build();
 var ewsScopes = new string[] { "https://outlook.office.com/EWS.AccessAsUser.All" };     

   // Make the interactive token request
var authResult = await pca.AcquireTokenInteractive(ewsScopes).ExecuteAsync();

    // Configure the ExchangeService with the access token
var ewsClient = new ExchangeService();
    ewsClient.Url = new Uri("https://mail.domain.com/EWS/Exchange.asmx");
    ewsClient.Credentials = new OAuthCredentials(authResult.AccessToken);

Appointment appointment = new Appointment(ewsClient);
// Set the properties on the appointment object to create the appointment.
appointment.Subject = "Tennis lesson";
appointment.Body = "Focus on backhand this week.";
appointment.Start = DateTime.Now.AddDays(2);
appointment.End = appointment.Start.AddHours(1);
appointment.Location = "Tennis club";
appointment.ReminderDueBy = DateTime.Now;

// Save the appointment to your calendar.
appointment.Save(SendInvitationsMode.SendToNone);

// Verify that the appointment was created by using the appointment's item ID.
Item item = Item.Bind(ewsClient, appointment.Id, new PropertySet(ItemSchema.Subject));

異常:請求失敗。 無法連接到遠程服務器

有什么辦法可以解決嗎?

謝謝

經過這么多發現終於我得到了答案。

                string ewsUrl = "https://outlook.office365.com/EWS/Exchange.asmx";
                string userName = "outlookUsername";
                string password =  "outlookpasword";

                ExchangeService servicex = new ExchangeService();
                servicex.Url = new Uri(ewsUrl);
                servicex.UseDefaultCredentials = true;
                servicex.Credentials = new WebCredentials(userName, password);

                try
                {
                    Appointment appointment = new Appointment(servicex);
                    // Set the properties on the appointment object to create the appointment.
                    appointment.Subject = "Tennis lesson";
                    appointment.Body = "Focus on backhand this week.";
                    appointment.Start = DateTime.Now.AddDays(2);
                    appointment.End = appointment.Start.AddHours(1);
                    appointment.Location = "Tennis club";
                    appointment.ReminderDueBy = DateTime.Now;


                    // Save the appointment to your calendar.
                    appointment.Save(SendInvitationsMode.SendToNone);

                    // Verify that the appointment was created by using the appointment's item ID.
                    Item item = Item.Bind(servicex, appointment.Id, new PropertySet(ItemSchema.Subject));

                    MessageBox.Show("Sucessfully Event Created");

                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

上面的代碼在 Outlook 中成功使用了事件創建。 謝謝你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM