【问题标题】:What scope is required to access the list of AzureAD groups via MS Graph API?通过 MS Graph API 访问 AzureAD 组列表需要什么范围?
【发布时间】:2020-07-12 14:59:43
【问题描述】:

我正在尝试向用 Node.JS 编写的 MS Graph API 应用程序添加一项功能。该应用程序是从Microsoft template 构建的。该应用需要获取名称以前缀开头的 Azure AD 组列表。我无法让它工作。

我复制了这个工作代码:

const client = graph.Client.init({...});
const events = await client
  .api('/me/events')
  .select('subject,organizer,start,end')
  .orderby('createdDateTime DESC')
  .get();

...并根据我找到的documentation更改了api查询。我已经注释掉了过滤器,只是为了让基本查询正常工作。

const client = graph.Client.init({...});
const events = await client
  .api('/groups')
  .select('id,displayName')
  // .filter("startsWith(displayName,'Prefix')")
  .get();

但是查询返回这个错误:

GraphError {
  statusCode: 403,
  code: 'Authorization_RequestDenied',
  message: 'Insufficient privileges to complete the operation.',
  requestId: 'f5330dbd-c7a9-4126-a227-10a656a11083',
  date: 2020-07-10T22:25:24.000Z,
  body: '{"code":"Authorization_RequestDenied"...}'
}

我不能 100% 确定 URI 是正确的。如果 URI 错误,我会期望 404,但这可能期望过高。也许这个/group API 与 Azure AD 组无关。

OTOH,我是否需要添加新范围来请求访问组信息?应用程序使用的当前范围列表如下所示:

OAUTH_SCOPES='profile offline_access user.read calendars.read'

我没有找到 Azure AD 的图形查询和范围的参考。我尝试将“groups.read”添加到范围列表中,但没有奏效。

我不仅希望得到答案,还希望提供文档链接。我必须从 Azure AD 添加一些其他功能。

【问题讨论】:

    标签: javascript node.js azure microsoft-graph-api


    【解决方案1】:

    根据您的链接文档,查询组的最低到最高特权权限是Group.Read.Allhttps://docs.microsoft.com/en-us/graph/api/group-list?view=graph-rest-1.0&tabs=javascript#permissions

    【讨论】:

      猜你喜欢
      • 2017-10-25
      • 1970-01-01
      • 2021-03-19
      • 2022-01-20
      • 2017-12-12
      • 1970-01-01
      • 2023-03-11
      • 2021-05-18
      • 1970-01-01
      相关资源
      最近更新 更多