所以我构建了一个简单的应用程序,并尝试将Outlook的API集成到其中。我创建了一个Outlook帐户,注册了一个应用程序并用密钥设置了所有内容。当我转到Azure登录页面时,我使用我注册该应用程序的帐户登录,并且我能够返回该帐户日历的JSON数据。
然而,当我尝试另一个Outlook帐户时,我遇到了一个问题:
getUserEmail returned an error: [object Object]
这是以下功能:
// Function to retrieve email in order to find user
async function getUserEmail(token) {
// Create a Graph client
const client = microsoftGraph.Client.init({
authProvider: done => {
// First parameter is is error handling if no token is retrieved
// If token is available then return the token
done(null, token);
}
});
const res = await client.api('/me').get();
// Outlook.com users have userPrincipalName instead of a mail attribute
return res.mail ? res.mail : res.userPrincipalName;
}
安慰错误本身会返回以下消息:
all the offeractions provided in the property bag cannot be validated for the token
我现在真的很困惑,为什么我只能使用我注册该应用的帐户访问数据?我是否必须在应用注册中更改其他内容?
答案 0 :(得分:0)
您自己的组织中的其他用户是?如果没有,xyz域名公司的IT管理员(email@xyz.onmicrosoft.com)必须代表整个公司给予同意,以便该公司的用户能够使用您的应用程序。这是一个非常好的流程示例: