如何解决使用API在MS Teams“团队”中列出频道名称,并为每个频道关联相关的“ incoming-webhooks”网址
我正在将一些使用Webhooks的集成从Slack迁移到MS Teams。 Slack有一个方便的方法来覆盖消息在Webhook有效负载中发布到的通道名称。 MS Teams似乎会为每个频道生成一个唯一的Webhook URL。
因此,我正在寻找一种枚举给定“团队”中的频道列表并检索每个频道的“ incoming-webhook”连接器网址的方法。
我找不到办法。
解决方法
您应该执行一些API调用以推断出来。
首先,您应该让组织中的所有团队。为此,您应该致电:
GET /groups?$select=id,resourceProvisioningOptions
或者:
GET /groups?$filter=resourceProvisioningOptions/Any(x:x eq 'Team')
您可以在List all teams in Microsoft Teams for an organization上详细了解它。响应的格式为:
HTTP/1.1 200 OK
Content-type: application/json
Content-length: xxx
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups","value": [
{
"id": "00e897b1-70ba-4cb9-9126-fd5f95c4bb78","resourceProvisioningOptions": []
},{
"id": "00f6e045-f884-4359-a617-d459ee626862","resourceProvisioningOptions": [
"Team"
]
}
]
}
然后,对于以上响应中的每个id
,您应该调用以列出频道:
GET /teams/{id}/channels
您可以在List Chanels上了解有关此API的更多信息。响应将在其json中有一个名为webUrl
的条目。该键的值将是您要查找的频道URL。
您可以使用List channels API来获取Team中的频道列表,但是无法获取每个频道中添加的Webhook URL。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。