首页 > 解决方案 > 从 Outlook WebAddin 生成的访问令牌出现未经授权的错误

问题描述

我正在尝试使用 Outlook Addin 中生成的访问令牌来下载邮件附件,它会引发未经授权的错误(401)。看起来 AccessToken 无效。在加载项中生成后 5 分钟内使用 accessToken 以确保避免过期代码。

遵循Office 文档中建议的步骤并创建了 C# 代码。我的代码要点可在此处获得:https ://gist.github.com/rajeevprasanna/6b0ba1db1599500a94451958b4f52d79

我的加载项清单可在此处获得,它要求ReadWriteMailbox权限:https ://gist.github.com/rajeevprasanna/5ef93e3df80f304826742bb81a0b4421#file-addin-manifest-xml-L64

我正在对 Office365 Outlook WebClient 进行试验,但我必须开发一个适用于所有 Outlook 实例以及 office365 和 Exchange 版本的统一解决方案。

此处建议的用于提取访问令牌的代码:

let cb = (asyncResult) => {
    console.log('asyncResult => '+ R.toString(asyncResult));
};

var options = {
        isRest: true,
        asyncContext: { message: 'Hello World!' }
    };
Office.context.mailbox.getCallbackTokenAsync(options, cb);

在进行 API 调用时,使用回调响应的值字段作为 accessToken。示例 getCallbackTokenAsync 响应:

{
    "asyncContext": {
        "message": "Hello World!"
    },
    "status": "succeeded",
    "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImthME5Hb19aNUkwRms1MXpKblZjT2tHbzFvbyJ9.eyJzbXRwIjoic3JpbmlAeGVub3Z1cy1hbWVyaWNhbmEuY29tIiwidmVyIjoiRXhjaGFuZ2UuQ2FsbGJhY2suVjIiLCJhcHBpZCI6IjAwMDAwMDAyLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMCIsImRlcGxveW1lbnRpZCI6IiIsInRpZCI6Imhvc3RpbmdjbG91ZGFwcC5uZXQiLCJhY3IiOiIxIiwiYXBwaWRhY3IiOiIwIiwic2NwIjoiTWFpbC5SZWFkV3JpdGUgTWFpbC5TZW5kIENhbGVuZGFycy5SZWFkV3JpdGUgQ29udGFjdHMuUmVhZFdyaXRlIiwiaXNzIjoiMDAwMDAwMDItMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwIiwiYXVkIjoiaHR0cHM6Ly93ZWJtYWlsLmhvc3RpbmdjbG91ZGFwcC5jb20iLCJleHAiOjE1NDI4NzcwMDMsIm5iZiI6MTU0Mjg3NjEwM30.c3sknGGbw1Jrip9Ke1AcLyRL-6VnWSSWTGrwmeo6Z7xwBfKD3ppNkSqb4cVZIzuV-8udQps2abQ9scPMn0DNRbFRUNlBfkhHUqR2_JHrMcMptL6ZqF-a7_-gOMcBSgNdUCk5mhGDJs9qiEiM47thv5HZC97k-aYZ-iyU8N-8SgMNDc8vjBdS2nPSKp6FgQfezmjxADT-mbflxNUIwUDfOAys2l8v_Qw30t3LDca2AMmHyK3GbEaXejdO4muzC-ZrRMUVThIfFsMs0x67E2aY--lxSwDmrfcEnXODW0_J72RtFNDV5wjxf1QH6-xfP0A34qbUlmVnjjiCeYCeCCtNEg"
}

在做了一些跟踪并与示例项目进行比较后,我发现错误似乎与权限类型ReadWriteMailbox有关。如果使用权限类型ReadItemReadWriteItem完成查询,我可以获取附件

标签: exchangewebservicesoutlook-addinoffice-jsoutlook-web-addins

解决方案


推荐阅读