簡體   English   中英

O365使用REST API創建事件

[英]O365 Create Events using REST API

我正在嘗試調用此代碼

 string accessToken = @".."; //valid token with right scopes
 public string EventsUrl = @"https://outlook.office.com/api/v2.0/me/events";

 // generate body
 var postBody = JsonBody(invite);

 using (var client = new HttpClient())
 {
       using (var request = new HttpRequestMessage(HttpMethod.Post, EventsUrl))
        {
             request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
             var content = new StringContent(postBody, Encoding.UTF8, "application/json");

             request.Content = content;

             var response = await client.SendAsync(request);
             return (response.IsSuccessStatusCode);
         }
 }

創建JsonBody的方法是,

public string JsonBody(User user, Session session){

        var invite = new EventInvite
        {
            Attendees = new Attendee[1]
        };

        invite.Attendees[0] = new Attendee
        {
            Type = "Required",
            EmailAddress = new Emailaddress { Name = user.GetName(), Address = user.GetEmail() }
        };
        invite.Start = new Start { DateTime = session.DateTime_Start };
        invite.End = new End { DateTime = session.DateTime_Start.AddMinutes(15) };
        invite.Subject = session.Name;
        invite.Body = new Body { ContentType = "HTML", Content = $"Some Content" };

        return JsonConvert.SerializeObject(eventInvite);

  } 

我收到一個錯誤的請求作為回應。 是否有其他方法可以建立活動? 我希望這段代碼很薄,因為可以在非基於UI的應用程序中訪問它

創建日歷事件的最佳方法是什么?

該修復程序涉及在“開始”和“結束”中設置時區

   string timeZone="Singapore Standard Time";
   invite.Start = new Start { DateTime = session.DateTime_Start, TimeZone = timeZone };
   invite.End = new End { DateTime = session.DateTime_Start.AddMinutes(60), TimeZone = timeZone };
   var postBody = JsonConvert.SerializeObject(invite, Formatting.Indented);

暫無
暫無

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

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