使用 API 列出 MS Teams 'Team' 中的频道名称以及每个频道的关联 'incoming-webhooks' url
Use API to list the channel names in an MS Teams 'Team' WITH the associated 'incoming-webhooks' url for each one
我正在将一些使用 Webhook 的集成从 Slack 转移到 MS Teams。 Slack 有一种方便的方法来覆盖消息在 webhook 负载中发布到的通道名称。 MS Teams 似乎为每个频道生成一个唯一的网络挂钩 URL。
因此,我正在寻找一种方法来枚举给定 'Team' 中的频道列表并为每个频道检索 'incoming-webhook' 连接器 url。
我找不到执行此操作的方法。
你应该做一些 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 获取团队中的频道列表,但无法获取每个频道中添加的 Webhook URL。
我正在将一些使用 Webhook 的集成从 Slack 转移到 MS Teams。 Slack 有一种方便的方法来覆盖消息在 webhook 负载中发布到的通道名称。 MS Teams 似乎为每个频道生成一个唯一的网络挂钩 URL。
因此,我正在寻找一种方法来枚举给定 'Team' 中的频道列表并为每个频道检索 'incoming-webhook' 连接器 url。
我找不到执行此操作的方法。
你应该做一些 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 获取团队中的频道列表,但无法获取每个频道中添加的 Webhook URL。