使用Graph API以编程方式加载Azure AD用户是否有限制?

时间:2017-01-26 17:41:28

标签: azure-active-directory azure-ad-graph-api

我们拥有超过20,000名用户的Azure AD。我试图阅读所有具有displayName,city,accountName,department等属性的用户。我无法阅读所有用户。我使用skiptoken来获取所有用户,但每次只有几千个用户而不是所有用户。

以下是我提取skiptoken的示例代码:

  public static string ExtractSkipToken(string responseString)
    {
        if (responseString.Contains("skiptoken=X"))
        {
            var startString = "skiptoken=X'";
            var endString = "'";
            var startIndex = responseString.IndexOf(startString, StringComparison.Ordinal);
            var subText = responseString.Substring(startIndex + startString.Length);
            var endIndex = subText.IndexOf(endString, StringComparison.Ordinal);
            var skipToken = subText.Substring(0, endIndex);
            return skipToken;
        }

        return string.Empty;
    }

有没有人这样做过?

1 个答案:

答案 0 :(得分:1)

Azure AD Graph API支持分页,如this document中所述。这个想法是在当前页面的响应中提供了到下一页结果的链接。我建议不要手动解析skiptoken,而是使用JSON响应中提供的链接。

如果您遵循此模式并且分页行为不符合预期,请提供有关分页错误位置的更多详细信息。