![](/img/trans.png)
[英]Getting meeting invites & events for the specific day for the logged in user using microsoft Graph API in UWP
[英]When creating all-day-events using microsoft graph api the last day is always missing
我正在使用以下代码创建一个 microsoft graph 事件对象:
Event @event = new Event
{
Subject = subject,
Body = new ItemBody
{
ContentType = BodyType.Html,
Content = $"<div id=\"BookingId\">{ id }</div><div id=\"CheckSum\">{ checkSum }</div>"
},
Start = new DateTimeTimeZone
{
DateTime = begin.ToString("yyyy-MM-ddTHH:mm:ss", new CultureInfo("de-AT")),
TimeZone = TimeZoneInfo.Local.Id
},
End = new DateTimeTimeZone
{
DateTime = end.ToString("yyyy-MM-ddTHH:mm:ss", new CultureInfo("de-AT")),
TimeZone = TimeZoneInfo.Local.Id
},
Location = new Location
{
DisplayName = location
},
Attendees = new List<Attendee>(),
IsAllDay = true
};
当此代码在我的机器上运行时,时区设置为“西欧标准时间”。 事件将像这样添加:
await graphClient.Groups[group.Id].Events
.Request()
.AddAsync(@event);
到目前为止,这是有效的,但我所有的事件都比我最初为结束时间设置的时间少了一天。 还试图增加一些小时,但后来我得到一个例外,说 allDayEvents 必须在午夜开始和结束。 但是将它们设置为午夜会删除事件的最后一天。
最简单的解决方法似乎总是将一天添加到结束日期。 但是,如果这只是一个夏令时问题,然后我会在冬天多一天呢? 我没有找到将夏令时添加到开始和结束日期的任何可能性。
附加信息:我在上面的代码中使用的日期时间对象已经将“00:00:00”作为时间。 这也可以从上面的文字看出,使用不同的时间会出现异常。 因此,链接问题的答案并没有解决我的问题。 所以,没有必要否决我的问题。
创建“全天”事件时,开始和结束时间应该只指定日期,而不是日期和时间(或者更准确地说,时间应该是00:00:00
):
Start = new DateTimeTimeZone
{
DateTime = begin..ToString("yyyy-MM-ddT00:00:00"),
TimeZone = TimeZoneInfo.Local.Id
},
End = new DateTimeTimeZone
{
DateTime = end.ToString("yyyy-MM-ddT00:00:00"),
TimeZone = TimeZoneInfo.Local.Id
},
与这个问题非常相似: Creating All Day Event failed
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.