通过 MS Graph API 访问 AzureAD 组列表需要什么范围?

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


我复制了这个工作代码:


const client = graph.Client.init({...});

const events = await client

  .api('/me/events')

  .select('subject,organizer,start,end')

  .orderby('createdDateTime DESC')

  .get();

...并根据我找到的文档更改了 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,但这可能期望过高。也许此/groupAPI 与 Azure AD 组无关。


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


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

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


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


凤凰求蛊
浏览 73回答 1
1回答

千万里不及你

查询组的最低到最高特权权限是Group.Read.All根据您的链接文档。https://learn.microsoft.com/en-us/graph/api/group-list?view=graph-rest-1.0&tabs=javascript#permissions
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript