订阅限制限制

时间:2018-06-05 15:39:14

标签: microsoft-graph

我尝试对单个用户进行多次订阅,以测试在发生限制之前我可以发送多少订阅请求。我使用了以下代码:

for (int i = 0; i < 10000; i++)
{
      try
      {
            var request = graphClient.Subscriptions.Request();

            var result = await request.AddAsync(
            new Subscription
            {
                ChangeType = "created,updated,deleted",
                NotificationUrl = notificationUrl,
                Resource = "/users/" + userId + "/" + resource,
                ExpirationDateTime = DateTimeOffset.UtcNow.AddMinutes(4230),
                ClientState = "my-subscription-identifier"
            }
            );

            AddOutputMessage((i + 1) + " Created Webhook", Color.Blue);
      }
      catch (ServiceException serviceException)
      {
           AddOutputErrorMessage(serviceException);
      }
}

每个用户每个应用的限制限制在10分钟内为10000(如another stackoverflow post中所述)。我已经通过向单个用户日历和联系人提出一些请求来测试此限制。

我能够进行220次订阅,直到发生限制(测试三次)。即使这似乎有点低,我的最终目标是为多个用户发出多个订阅请求(例如1000个订阅1000个用户),所以如果这个限制是针对一个限制的话,那么这不是一个问题。仅限单个用户。

订阅请求的限制(HttpStatusCode 429)服务异常还包含错误代码&#39; ExtensionError&#39;我无法在docExtensionError

中找到

我想知道的是:

  • &#39; /订阅终端&#39;
  • 的限制限制是什么?
  • 特别是在多少次请求发生限制之后? (每个用户和每个应用的总体)例如如果我想订阅1000个用户,我会在220后受到限制吗?
  • 什么是&#39; ExtensionError&#39;?

1 个答案:

答案 0 :(得分:1)

ExtensionError实际上是OAuth错误类别。展开Message字符串以查看它是否包含更多信息。

我正在与代码所有者核实,看看REST的订阅限制是什么。