Как увеличить лимит подписки Microsoft Graph API? - PullRequest
0 голосов
/ 10 мая 2018

Мне не удалось найти способ использования графика для подписки на все изменения пользователей, он выглядит так, как будто это невозможно .

Поэтому я решил подписаться на всехиндивидуально, в идеале, я бы хотел, чтобы все обновления из календарей, электронной почты и контактов в конечном итоге были, но я начал с календарей.

Код прекрасно работает только с моим пользователем, однако, когда я пытаюсь подписаться на всех (около 300 пользователей)Я жестко ограничил при семи подписках , так как при дальнейших запросах происходит сбой с общим статусом Bad Request.

В официальных документах https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/webhooks говорится:

Ограничения Некоторые ограничения применяются и могут привести к ошибкам при превышении:

1) Максимальные квоты подписки

  • на приложение: всего 50 000 подписок
  • на одного арендатора: 35 подписок на все приложения
  • на приложение и комбинацию арендаторов: 7 подписок

Похоже, что арендатор относится к фактическим действиямМы ограничены 7 на приложение, или 35 всего.

Нет шансов разделить пользователей на несколько активных каталогов доменов, даже манипулирование несколькими приложениями для одной и той же вещи кажется странным, эти ограничения мне вообще не нужны.

Есть ли способ увеличить эти крошечные ограничения?

Я подписываюсь на users/$email/events, поэтому я публикую на https://graph.microsoft.com/v1.0/subscriptions

{
   "changeType": "created,updated,deleted",
   "notificationUrl": "https://webhooks.mydomain.com/my/endpoint",
   "resource": "users/$email/events",
   "expirationDateTime":"2018-05-12T16:00:00.9356913Z",
   "clientState": "my-super-secret-identifier"
}

И это прекрасно работает, покакак я хочу <= 7 подписок.Я также подписался на root / users, чтобы посмотреть, даст ли это мне все изменения, а это значит, что я могу подписаться только на 6 отдельных календарей. </p>

Я использую официальную библиотеку PHP, но предполагаю / надеюсь, чтоне имеет значения.

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Я собираюсь добавить ответ (потому что я не могу комментировать, но это помогло бы мне узнать).

«AD» в документации «Azure AD» означает «Active Directory"что, кажется, немного отличается от просто Graph API.В любом случае я смог настроить 62 подписки на один и тот же календарь для одного и того же пользователя и сразу же получил 62 уведомления после внесения изменений в календарь.Я хотел проверить пределы, но я считаю, что 50000 - это немного, чтобы сидеть и нажимать кнопку в проводнике API графиков, поэтому я остановился на 62. В любом случае, можно добавить более 7 и более 35 подписок.

Указанная учетная запись была зарегистрирована компанией, однако, очевидно, не Active Directory ... Или документация просто неверна или неправильно интерпретируется.В этих случаях иногда трудно сказать:)

0 голосов
/ 16 мая 2018

Как сказал Джейсон в комментариях, ограничение в вопросе должно было применяться только к ресурсам Active Directory, а не на уровне пользователя, документы были изменены:

AzureОграничения ресурсов AD

Некоторые ограничения применяются к ресурсам на основе Azure AD (пользователям, группам) и могут привести к ошибкам при превышении:

Максимальные квоты подписки:

  • На приложение: 50 000 подписок
  • На арендатора: 35 подписок
  • во всех приложениях На приложение и комбинацию арендаторов: 7 подписок

Лиэто был случай, когда сила внушения вызвала проблему, или какая-то временная ошибка где-то, чего я не знаю, но Боги Межсетей улыбнулись мне, и мой код теперь работает;хотя я не изменил это.

Может быть, удаление и добавление разрешений помогло в моем случае?Не уверен.

По крайней мере, документы сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...