【发布时间】:2022-08-18 16:03:29
【问题描述】:
当任何用户在 MS Teams 中创建新团队时,我们希望将此信息传播到我们的自定义应用程序并执行一些操作。有没有办法触发这个事件?
-
使用 Microsoft Graph API,您可以订阅资源以获取更改通知。 docs.microsoft.com/en-us/graph/api/resources/…
标签: microsoft-graph-api microsoft-teams
当任何用户在 MS Teams 中创建新团队时,我们希望将此信息传播到我们的自定义应用程序并执行一些操作。有没有办法触发这个事件?
标签: microsoft-graph-api microsoft-teams
您可以使用 Change notifications 接收到您自己的 api 端点的 webhook。
要接收新的event 的 webhook,您必须创建一个新的subscription(请参阅Create subscription)并将/users/{id}/events 用作resource。将{id} 更改为您要订阅的user 的Id。
因为您只想接收新事件,请将ChangeType 设置为created。您也可以使用updated 或deleted 并链接它们,使用,。
创建新订阅的示例请求
POST https://graph.microsoft.com/beta/subscriptions
Content-type: application/json
{
"changeType": "created",
"notificationUrl": "https://yourbackend.tld/api/new-event",
"resource": "/users/{id}/events",
"expirationDateTime":"2022-05-21T11:21:32.5261217Z",
}
到期日期时间
请注意expirationDateTime 有一个最大值。见Maximum length of subscription per resource type。事件的最大值为 4230 分钟。
您可以通过延长到期时间来续订订阅,请参阅Update subscription。
Outlook 资源的不可变标识符
我还建议使用标题Prefer: IdType="ImmutableId" 以确保事件的Id 不会随时间而改变。阅读更多关于此here 的信息。
【讨论】: