我们使用 office JavaScript api 开发 Outlook 加载项,并且需要更新邮件的类别。
尝试使用加载项令牌通过 Exchange EWS 调用 UpdateItem - 失败并显示 500。
请参阅请求和响应: http: //pastebin.com/55x2d2Ht
- 应用的清单权限是 ReadWriteMailbox(最高)
- 在 OWA /manageapps 中选择应用程序时 - 它显示“单击此添加时,它将能够:阅读、创建和更新邮箱中的电子邮件”
- 尝试了来自mailbox.getCallbackTokenAsync 的令牌和使用makeEwsRequestAsync。
- EWS GetItem 和 CreateItem 操作成功 - 只有 UpdateItem 失败
- 对 UpdateItem 的响应:500 此调用者或应用程序无法使用请求的 Web 方法。
- 它是 500(而不是 403)的事实可能意味着 UpdateItem 操作完全被插件应用程序阻止
- jwt 令牌(来自 getCallbackTokenAsync)没有“scp”键
- 如果使用另一个令牌发送相同的 UpdateItem XML Soap 数据包,则从在 Azure 中注册的测试 OAuth 应用程序具有对 Exchange 的读/写权限 --> 它会成功。此应用 jwt 令牌带有“scp”:“full_access_as_user Mail.Read Mail.ReadWrite Mail.Send”
- 尝试使用加载项令牌与另一个交换用户 - 也失败了。
- Office AddIn 文档声明在插件上下文中支持 EWS UpdateItem 操作。请参阅Office 开发中心
- 摘要:只有带有 Addin OAuth 令牌的 Ews UpdateItem 失败。其他操作成功并且使用其他令牌(或基本身份验证)发布 UpdateItem 也成功。