microsoft-graph-api - 如何增加 Microsoft Graph API 订阅限制?
问题描述
我还没有找到一种使用图表来订阅所有用户更改的方法,看起来这是不可能的。
所以我开始单独订阅每个人,理想情况下我最终希望所有更新来自日历、电子邮件和联系人,但我从日历开始。
该代码仅适用于我的用户,但是当我尝试为每个人(大约 300 个用户)订阅时,我遇到了一个严格的限制,即7 个订阅,因为进一步的请求以一般Bad Request
状态失败。
在官方文档https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/webhooks中它说:
限制 某些限制适用,超过时可能会产生错误:
1) 最大订阅配额
- 每个应用程序:50,000 总订阅
- 每个租户:所有应用程序共有 35 个订阅
- 每个应用和租户组合:总共 7 个订阅
Tenant 似乎指的是一个实际的活动目录,因此我们限制为每个应用程序 7 个,或总共 35 个。
将用户分成多个域的 Active Directory 的可能性为零,即使同时使用多个应用程序来做同样的事情似乎也很奇怪,这些限制对我来说毫无意义。
有没有办法增加这些微小的限制?
我正在订阅,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 个单独的日历。
我正在使用官方的 PHP 库,但假设/希望没关系。
解决方案
正如 Jason 在评论中所说,问题中的限制应该只适用于 Active Directory 资源,而不是用户级别,文档现在已更改:
Azure AD 资源限制
某些限制适用于基于 Azure AD 的资源(用户、组),超过时可能会产生错误:
最大订阅配额:
- 每个应用程序:50,000 总订阅
- 每个租户:总共 35 个订阅
- 跨所有应用程序每个应用程序和租户组合:总共 7 个订阅
无论是建议的力量导致了问题,还是某个我不知道的地方的临时错误,但互联网之神对我微笑,我的代码现在可以工作了;即使我没有改变它。
也许删除和添加权限对我有帮助?没有把握。
至少文档现在是。
推荐阅读
- xaml - Xaml 路径说明
- android - 响应不是来自使用改造的服务器
- c - 逐部分获取 vsnprintf() 输出
- asciidoctor - 从 asciidoctor 激活植物
- ms-word - 在哪里取消隐藏隐藏的部分?
- regex - PostgreSQL 正则表达式不是那么不贪婪
- android - ExifInterface saveAttributes() 不将属性保存到 jpg 图像
- python - `import dolphindb` 时 DLL 加载失败
- javascript - 如何在 laravel 5.7 的不同页面上将数据从一个表单传递到另一个表单?
- javascript - 如何删除数组中的重复出现?