azure - Graph Api 响应中的 nextLink 不是绝对 Uri

标签 azure microsoft-graph-api azure-ad-b2c

我们正在调用图形 API,以使用此 URL 获取 Azure B2C AD 中的用户

https://graph.windows.net/TENANTNAME.onmicrosoft.com/users?api-version=1.6&$top=10&$select=objectId,userType,displayName,signInNames,createdDateTime&$filter=userType%20eq%20'Member'

请注意,在我编写此分页代码时,页面大小 10 故意较小

文档说,如果有更多数据要提取,响应中将会有一个 nextLink 属性,如果存在,则应使用 uri 来获取下一页数据。我们确实看到了 nextLink,更准确地说,它是 odata.nextLink,但该值不能用作下一个请求的 uri。

这是一个例子

directoryObjects/$/Microsoft.DirectoryServices.User?$select=objectId,userType,displayName,signInNames,createdDateTime&$filter=userType%20eq%20'Member'&$skiptoken=X'010001000000030000005903BF45BBE7EA4CB7378BD076AD388026EC6A89C7479240A83DE15C99D42A0C4B7E5E4C707FB448B45655AED90920FA6D7126F4D8990'

注意,skiptoken 值已缩短

我可以解析 nextLink 并为下一页组装一个 uri,但这似乎是一个愚蠢的想法,因为 nextLink 的值对我来说应该是不透明的。

是因为我们调用的是 B2C 租户吗?

是否有解析该链接的一致方法?

最佳答案

这是设计引起的问题,Azure AD graph api只提供这种nextlink。实际上,微软建议使用Microsoft Graph代替Azure Active Directory Graph API来访问Azure AD的资源。因此,您可以使用 Microsoft graph api“list users”来获取 AD 中的用户,它将显示下一个链接的绝对 uri。

enter image description here

关于azure - Graph Api 响应中的 nextLink 不是绝对 Uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61957327/

相关文章:

microsoft-graph-api - 如何通过 API 调用更新 MS Teams 中的状态/状态/可用性?

azure - 邀请 Azure 应用程序加入租户

azure-ad-b2c - Azure AD B2C 的回退和还原

c# - 如何在 MSAL .Net C# 中获取刷新 token

c# - 如何启动Azure Function

microsoft-graph-api - 使用 API 创建 Microsoft 团队选项卡

azure-ad-b2c - Azure ADB2C 中的电话注册和登录自定义策略不起作用

azure - 我们的 ASP.NET core RC1 应用程序停止工作然后又开始工作

python - Azure Functions (python) adal 身份验证超时

javascript - Microsoft Graph 获取基本联系方式 (Node.js)