首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Outlook Mac App auth令牌错配

Outlook Mac App auth令牌错配
EN

Stack Overflow用户
提问于 2018-02-01 11:39:42
回答 1查看 212关注 0票数 5

我正在为Outlook实现一个外接程序,外接程序获取一个附件并将其发送到我的服务器进行处理。它在https://outlook.office.com上运行得完美无缺,但未能为Mac运行Outlook2016。

下面是我要访问的API:

代码语言:javascript
复制
var getMessageUrl =Office.context.mailbox.restUrl + '/v2.0/me/messages/' +
    {messageID} + "/attachments/" + {attachmentID};

var attachmentID = Office.context.mailbox.item.attachments[0].id;
var messageID = getItemRestId();

$.ajax({
    url: getMessageUrl,
    dataType: 'json',
    headers: {
        'Authorization': 'Bearer ' + outlookToken
    }
}).done(function 1(response) {
    //upload the blob to my server
}).fail(function (error) {
    //call authorise to get a new token
});

function getItemRestId() {
    if (Office.context.mailbox.diagnostics.hostName === 'OutlookIOS') {
        // itemId is already REST-formatted
        return Office.context.mailbox.item.itemId;
    } else {
        // Convert to an item ID for API v2.0
        return Office.context.mailbox.convertToRestId(
            Office.context.mailbox.item.itemId,
            Office.MailboxEnums.RestVersion.v2_0
        );
    }
}

使用Outlook2016forMac,我从上面的API中得到一个401

此外,我在Outlook 2016上为Mac调用的auth_token与在浏览器中获得的getCallbackTokenAsync不同:

代码语言:javascript
复制
Office.context.mailbox.getCallbackTokenAsync({isRest: true}, function (result) {
    if (result.status === "succeeded") {
        //save result.value
    } 
    else {
        //error condition
    }
});

我的清单中的值是:

代码语言:javascript
复制
<Set Name="MailBox" MinVersion="1.3"/>
<Permissions>ReadWriteMailbox</Permissions>

有人能指出我在这里做错了什么吗?

根据的建议,我检查了在jwt.io上收到的令牌--在浏览器和mac应用程序中,令牌的版本不同。

代码语言:javascript
复制
On the Browser: "ver": "Exchange.Callback.V2" On the Mac App: "ver": "Exchange.Callback.V1" 

如何使outlook_mac_app返回令牌的v2?

EN

回答 1

Stack Overflow用户

发布于 2018-02-01 18:52:38

我不能对此发表评论,所以将此作为回答。

我在Mac2016OutlookforMac2016中访问了403个附件,不确定它们是否相关,但是您可以在这里查看一下https://github.com/OfficeDev/outlook-add-in-command-demo/issues/30

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48561863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档