【发布时间】: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