Ril*_*ald 5 javascript outlook outlook-restapi outlook-web-addins
我使用 ReactJS 创建了一个 Outlook 加载项,并按照本指南获取了能够使用 Outlook v2.0 REST API 的令牌: https: //learn.microsoft.com/en-us/office/dev/add -ins/outlook/使用-rest-api
现在我想开始使用 Outlook Beta REST API,并且我想我可以使用相同的令牌来进行 API 调用,但是我收到以下错误,这表明我无法使用此令牌:
{"error":{"code":"UnableToReadToken","message":"OAuth token submitted with the request can not be parsed.","innerError":{"requestId":"b96fc800-82d4-4b6d-8aa0-0b9ff6a36873","date":"2020-02-21T09:27:27"}}}
Run Code Online (Sandbox Code Playgroud)
无论如何,是否可以使用 生成的令牌来调用此 API Office.context.mailbox.getCallbackTokenAsync?我知道我可能可以通过 Azure AD 获取 oauth2 令牌,但是在 Azure AD 门户中,我没有适当的管理员访问权限来遵循此过程,因此我正在寻找不依赖于此的解决方案。
以下是我的函数的代码片段,用于获取令牌并调用 API:
getToken() {
return new Promise(async function (resolve, reject) {
try {
Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
if (result.status === "succeeded") {
let accessToken = result.value;
console.log(result.value);
resolve(accessToken);
} else {
console.log(result.status);
reject(result.status);
}
});
} catch (error) {
console.error(error);
reject(error);
}
})
}
getRules(token) {
return new Promise(async function (resolve, reject) {
try {
const url = 'https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules';
const header = new Headers({ 'Authorization': `Bearer ${token}` });
const options = {
headers: header
};
let response = await fetch(url, options);
let jsonResponse = await response.json();
console.log(jsonResponse);
resolve(jsonResponse);
} catch (error) {
console.error(error);
reject(error);
}
});
}
Run Code Online (Sandbox Code Playgroud)
小智 1
您提到没有适当的管理员访问权限来使用 AD v2 身份验证端点。
目前有两种方法来处理应用程序注册和用户授权。您是否确认,如果碰巧这些方法之一仍然有效......
使用 Azure AD v2 身份验证终结点: https://learn.microsoft.com/en-us/previous-versions/office/office-365-api/api/beta/use-outlook-rest-api-beta#RegAuthConverged
使用 Azure Active Directory 和 OAuth: https://learn.microsoft.com/en-us/previous-versions/office/office-365-api/api/beta/use-outlook-rest-api-beta#RegAuthAzure
一些附加信息(您可能已经知道):
v2 身份验证端点已从 Outlook 和 Outlook.com 开发人员的预览版升级为正式可用 (GA) 状态。
如果您有一个使用 Windows Live API 访问 Outlook.com 邮箱数据的生产中应用程序,则必须重写该应用程序以使用 v2 身份验证终结点和 Outlook REST API。由于 Outlook.com 已弃用 Windows Live API,并且 Outlook.com 用户为其邮箱启用了 Outlook REST API,因此这些用户在尝试运行此类 Windows Live API 应用程序时将收到 HTTP 404 错误。
| 归档时间: |
|
| 查看次数: |
989 次 |
| 最近记录: |