【发布时间】:2018-11-10 06:46:00
【问题描述】:
我正在尝试构建一个使用 Microsoft Graph API 通过电子邮件地址查找其他用户的应用。不幸的是,我还需要通过替代/代理电子邮件地址进行查找,并且我正在努力寻找 API 调用所需的范围。
使用Graph Explorer,我可以成功提交查询/beta/users?$filter=proxyAddresses/any(x:x eq 'smtp:user.name@example.com'),但是在应用程序中运行时出现权限不足错误。
{
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation."
}
应用程序是使用节点和@microsoft/microsoft-graph-client NPM 包编写的,并遵循tutorial here。
查询在节点中如下所示:
let result = await client
.api('/users')
.version("beta")
.filter('proxyAddresses/any(x:x eq \'smtp:' + email + '\')')
.get();
当我使用更简单的查询时它可以工作,例如:
let result = await client
.api('/users')
.version("beta")
.filter('mail eq \'' + email + '\'')
.get();
无论我使用什么版本,我都会得到相同的结果。所以我认为它与proxyAddresses 属性有关,但我不知道为什么它会在资源管理器中工作而不是在这里?
任何帮助将不胜感激!
【问题讨论】:
-
要求的范围是 User.Read.All
标签: javascript azure-active-directory microsoft-graph-api