jst*_*zik 18 exchangewebservices ews-managed-api office365
使用Exchange 推送通知我一直在创建一个同步来自Office365用户的日历数据的服务.我一直在使用Office365 Calendar REST API(用于获取和管理日历)和EWS API(用于订阅日历更改)的组合.
我注意到最近MS已经为他们的订阅端点引入了预览API.但是,此API仍处于预览模式,我希望暂时不使用它.
一旦我完成了所有设置,问题是我无法在日历事件资源(REST)和推送通知上返回的EWS CalendarItem资源之间建立关联.在ItemId为CalendarItem和Id对REST事件不同.
当尝试更新我从REST API保存的事件时,这证明是有问题的,因为我找不到将两者关联起来的好方法.
任何帮助是极大的赞赏!
编辑
在进一步挖掘之后,我实际上发现从REST API(GET /calendars)返回的日历似乎是MessageEWS层次结构中的项目.因此,不是此端点返回实际的文件夹ID,而是返回属于某个名为"公共视图"的文件夹中的项ID.
我不确定为什么事情是这样设计的,但base64编码ID的差异似乎非常小.我仍然无法弄清楚将两者联系起来的好方法.
因此,由于通过Exchange2007版本订阅EWS推送通知,我的ID不匹配.Exchange2007_SP1以及之外的兼容EwsIds,所以这包括Office365.
用-字符/和_字符替换字符+允许我正确地调用Office365 API资源.
最后,在调用日历时,API实际上返回Message了Common Views文件夹下的项目类型.因此,当尝试将这些ID用于订阅时,EWS API会抱怨我已经发送了ItemID而不是文件夹ID.
值得庆幸的是,我发现GET /calendars/ews_folder_id在将ID正确转换为URI安全类型后,通过实际工作来向REST API发出请求(请参阅上面的转换).
| 归档时间: |
|
| 查看次数: |
719 次 |
| 最近记录: |