gpt4 book ai didi

office365 - 将 Office365 REST 日历 ID 映射到 EWS 日历项目 ID

转载 作者:行者123 更新时间:2023-12-02 19:38:14 28 4
gpt4 key购买 nike

使用 Exchange push notifications我一直在创建一项同步 Office365 用户的日历数据的服务。我一直在使用 Office365 Calendar REST API 的组合(获取和管理日历)和 EWS API(订阅日历更改)。

我注意到最近 MS 为其订阅端点引入了预览 API。不过,这个 API 仍处于预览模式,我想暂时避免使用它。

一旦我完成所有设置,问题是我无法在 calendar event resource (REST) 之间建立关联。和 EWS CalendarItem resource这是在推送通知上返回的。 CalendarItem 的 ItemId 和 REST 事件的 Id 不同。

当尝试更新我从 REST API 保存的事件时,这证明是有问题的,因为我找不到关联两者的好方法。

非常感谢任何帮助!

编辑经过进一步挖掘,我实际上发现从 REST API (GET/calendars) 返回的日历似乎是 EWS 层次结构中的 Message 项。因此,此端点不是返回实际的文件夹 ID,而是返回属于某个名为“公共(public) View ”的文件夹的项目 ID。

我不确定为什么要这样设计,但 base64 编码 ID 的差异似乎非常小。我只是仍然找不到将两者关联起来的好方法。

最佳答案

事实证明,由于通过 Exchange2007 订阅 EWS 推送通知,我的 ID 不匹配。版本。 Exchange2007_SP1以及其他具有彼此兼容的 EwsId,因此这包括 Office365。

替换 -带有 / 的字符和_带有 + 的字符允许我正确调用 Office365 API 资源。

最后,当调用get calendars时,API 实际上返回 Message Common Views 下的项目类型文件夹。因此,当尝试使用这些 ID 进行订阅时,EWS API 会提示我向其发送了 ItemID,而不是文件夹 ID。

谢天谢地我发现通过 GET /calendars/ews_folder_id 向 REST API 发出请求一旦你正确地将 ID 转换为 URI 安全类型(参见上面的转换),实际上就可以工作了。

关于office365 - 将 Office365 REST 日历 ID 映射到 EWS 日历项目 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30082306/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com