带斜杠的Outlook OfficeJS itemID从MS图形返回错误

gr3*_*r7h 0 outlook-addin azure-ad-graph-api office-js

我有一个Outlook加载项,该加载项从OfficeJS捕获ItemID,并将其传递回快递服务器,该服务器通过Graph API转发端点转发消息。

通常,我得到的ItemID类似于Graph API正确转发的内容:

AQMkADAwATNiZmYAZC1mZDMyLTJjODAtMDACLTAwCgBGAAAD6HpLXdIWSkydFpIOnccszQcAa+WVq3+CfU+sUUEjYH6kNXXXXXXa+WVq3+CfU+sUUEjYH6kNAAAANor+k8AAAA=

我遇到的问题是,在某些情况下,我会得到一个这样的ItemID:

AQMkADAwATM0MDAAMS1hYzNiLWY1MjAtMDACLTAwCgBGAAADt9wSOQ+Jc0urM7fl9yLPMwcAKzExAL5p8QNFrnWOneViFEwXXXXXXCsxMQC+afEDRa51jp3lYhRMAAHjntX/AAAA

注意/尾随前的权利AAAA

因此,我然后对URI组件进行编码并触发以下请求:


https://graph.microsoft.com/v1.0/me/messages/AQMkADAwATM0MDAAMS1hYzNiLWY1MjAtMDACLTAwCgBGAAADt9wSOQ%2BJc0urM7fl9yLPMwcAKzExAL5p8QNFrnWOneViFEwXXXXXXCsxMQC%2BafEDRa51jp3lYhRMAAHjntX%2FAAAA/forward
Run Code Online (Sandbox Code Playgroud)

我得到这个回应:


"error":{
    "code":"BadRequest",
    "message":"Unsupported segment type. ODataQuery: users/rando@outlook.com/messages/AQMkADAwATM0MDAAMS1hYzNiLWY1MjAtMDACLTAwCgBGAAADt9wSOQ+Jc0urM7fl9yLPMwcAKzExAL5p8QNFrnWOneViFEwXXXXXXCsxMQC+afEDRa51jp3lYhRMAAHjntX/AAAA/forward",
    "innerError":{
        "request-id":"6b3a8b34-4474-4260-98d4-107b1dfd4cc4",
        "date":"2017-08-04T18:02:10"
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有人遇到这个问题或知道解决方案?当/ItemId中包含a时,这似乎在Microsoft端可能是一个问题。

注意:对发布的用户和ItemIds进行了一些清洁。

Out*_*SFT 5

Office.context.mailbox.item.itemId返回的ID 是EWS项目ID。如您所见,REST ID的格式略有不同。

Office.context.mailbox.convertToRestId外接API将EWS项目ID转换为REST /图表项目ID,你的加载项可以发送到你的服务器。