我们正在调用图形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
,但是该值not可用作下一个请求的uri。
这里是一个例子
directoryObjects/$/Microsoft.DirectoryServices.User?$select=objectId,userType,displayName,signInNames,createdDateTime&$filter=userType%20eq%20'Member'&$skiptoken=X'010001000000030000005903BF45BBE7EA4CB7378BD076AD388026EC6A89C7479240A83DE15C99D42A0C4B7E5E4C707FB448B45655AED90920FA6D7126F4D8990'
注意,跳过令牌值已缩短
我可以解析nextLink并为下一页组装一个uri,但这似乎是一个愚蠢的主意,因为nextLink的值对我来说应该是不透明的。
是因为我们正在呼叫B2C租户?
是否有商定的方法来解析该链接?
这是设计引起的问题,Azure AD图形api仅提供这种nextlink。实际上,Microsoft建议使用Microsoft Graph代替Azure Active Directory Graph API,以便访问Azure AD的资源。因此,您可以使用Microsoft图形API“ list users”在广告中获取用户,并且它将显示下一个链接的绝对uri。