小编gr3*_*r7h的帖子

在Outlook加载项中何时使用EWS与Rest API的持久传奇

这个问题基于我之前提出一个问题,但后来有了更多细节和经验.

首先是一些背景,我有一个Outlook Addin应该转发用户消息,然后将消息移动到特定文件夹.这需要在OWA和Outlook 2016环境中适用于Prem Exchange.它既适用于以前的客户端,也适用于O365用户的Outlook Mobile App.

我的具体问题归结为检测何时使用EWS与Rest API(甚至是MS Graph API).

这是我的代码片段:

Office.initialize = function() {
    $(document).ready(function() {
        $('#forward').click(forwardMessage);
    });
}; 

function forwardMessage() {
    if(Office.context.mailbox.restUrl) { // The problem child
        forwardEWS(); // Works like a charm
    } else {
        forwardRest(); // Works fine for O365 users
    }
}

function forwardRest() {
    var restHost = Office.context.mailbox.restUrl;
    var restId = getItemRestId();

    Office.context.mailbox.getCallbackTokenAsync({isRest: true}, function(result){
        if (result.status === "succeeded") {
            var accessToken = result.value;

            $.ajax({
                url: restHost + '/v2.0/me/messages/' …
Run Code Online (Sandbox Code Playgroud)

outlook exchangewebservices outlook-restapi office-js outlook-web-addins

4
推荐指数
1
解决办法
582
查看次数

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

我有一个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进行了一些清洁。

outlook-addin azure-ad-graph-api office-js

0
推荐指数
1
解决办法
235
查看次数