【发布时间】:2015-12-12 04:39:39
【问题描述】:
这是我认为是日历 REST API 中的错误 - 但我希望找到解决方法。
简而言之,我可以通过 API 将日历事件发布到只读日历而不会出错。奇怪的是,365 UI 知道日历是只读的,并且不允许通过 UI 进行编辑。
这会导致我们的同步出现问题,因为当原始日历再次发布时,所有新活动都会被删除。我的问题是如何确定我正在写入的日历具有适当的写入权限(就像 UI 一样),其次,这是一个我可以通过 API 编写但不能通过 UI 编写的错误吗?
重现步骤:
- 获取一个公开的只读日历地址。例如this
- 在 365 中,右键单击“我的日历”和“打开日历”
- 在“互联网日历”字段中粘贴来自 (1) 的地址。日历应出现在“我的日历”下。 请注意,您无法通过用户界面为此日历创建活动
- 使用
GET https://outlook.office.com/api/v1.0/me/calendars获取新添加的日历ID - 使用
POST https://outlook.office.com/api/v1.0/me/calendars/[CALENDAR_ID]/events为新日历创建活动。
预期行为 与 UI 一样,API 不允许您写入此日历。
实际行为 创建成功,201创建返回。惊喜!一段时间后(4-6 小时),新创建的事件将被删除。如果您正在同步此日历,这会导致问题,因为删除将传播到与该日历同步的任何客户端。
【问题讨论】:
-
让我对此进行调查并回复您。