C# O365使用REST API创建事件
我正在尝试调用此代码C# O365使用REST API创建事件,c#,rest,office365,C#,Rest,Office365,我正在尝试调用此代码 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()) {
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);