我想通过 Microsoft Graph 查看我的 Microsoft 帐户中的联系人。 来自 https://github.com/microsoftgraph/nodejs-connect-rest-sample 的代码 我在 utils/graphHelper.js 中添加了 getUserContact 函数
function getUserContact(accessToken, callback) {
request
.get('https://graph.microsoft.com/v1.0/me/contacts')
.set('Authorization', 'Bearer ' + accessToken)
.end((err, res) => {
callback(err, res);
});
}
并将其添加到 graphHelper.js 文件的底部
exports.getUserContact = getUserContact;
在文件夹路由中 -> index.js 修改自
router.get('/token',
passport.authenticate('azuread-openidconnect', { failureRedirect: '/' }),
(req, res) => {
graphHelper.getUserData(req.user.accessToken, (err, user) => {
if (!err) {
req.user.profile.displayName = user.body.displayName;
req.user.profile.emails = [{ address: user.body.mail || user.body.userPrincipalName }];
renderSendMail(req, res);
} else {
renderError(err, res);
}
});
});
到
router.get('/token',
passport.authenticate('azuread-openidconnect', { failureRedirect: '/' }),
(req, res) => {
graphHelper.getUserContact(req.user.accessToken, (err, user) => {
if (!err) {
req.user.profile.displayName = user.body;
//req.user.profile.emails = [{ address: user.body.mail || user.body.userPrincipalName }];
renderSendMail(req, res);
} else {
renderError(err, res);
}
});
});
(修改在index.js文件第45-48行添加getUserContact)
然后在项目目录下npm start
有什么解决办法吗?
谢谢
更新:11:22 15/6/2017 在 config.js 文件中更新(添加 contact.read)
scope: ['User.Read', 'Mail.Send', 'Files.ReadWrite','Contacts.Read']
最佳答案
您没有访问联系人所需的范围。您需要将 Contacts.Read
添加到 config.js 中的 scope
值。
关于javascript - Microsoft Graph 获取基本联系方式 (Node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44539792/