javascript - 使用 proxyAddresses 筛选器的 Microsoft Graph API 查询用户

标签 javascript azure-active-directory microsoft-graph-api

我正在尝试构建一个使用 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 属性有关,但我不知道为什么它会在资源管理器中而不是在这里工作?

如有任何帮助,我们将不胜感激!

最佳答案

这听起来像是您需要更新范围列表以包含缺失的范围。我不知道你需要什么范围,但我会在 Graph Explorer 中做,在你登录后,我会打开控制台并运行 tokenPlease() 来获取你的访问 token 。将 Graph Explorer 返回的访问 token 中的范围与您在应用中请求的范围进行比较,以帮助您确定仍需要请求的范围。

关于javascript - 使用 proxyAddresses 筛选器的 Microsoft Graph API 查询用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50621167/

相关文章:

javascript - 数据集与 setAttribute 性能

javascript - 如何使用javascript动态更改html中svg的文本内容

javascript - 无法缩小此文件中的代码

c# - 使用 ADAL 对 Azure API 应用程序进行身份验证

azure - 从 Azure 应用服务轻松身份验证获取 Microsoft Graph 的 AccessToken

javascript - 使用 Javascript 对无序列表进行排序

azure - 在 Azure 权限的 IAM 中找不到集合管理员角色

azure - 是否有 API 可以获取某个名字的租户 ID?

azure-active-directory - ADAL.js - 使用 id_token 获取 Microsoft Graph 访问 token

Android、Microsoft Graph API - 网络无法访问