Botframework bot框架和Microsoft团队-如何获得与团队关联的所有通道?

Botframework bot框架和Microsoft团队-如何获得与团队关联的所有通道?,botframework,microsoft-teams,Botframework,Microsoft Teams,我正在尝试获取与特定团队关联的所有通道,以便我的机器人可以发送主动消息。根据我所做的阅读,我需要在TeamsOperationsExtensions类的Microsoft.Bot.Connector.Teams命名空间中使用FetchChannelList方法 如果我这样做: var connector=newconnectorclient(新Uri(activity.ServiceUrl)); ConversationList channels=connector.GetTeamsConnec

我正在尝试获取与特定团队关联的所有通道,以便我的机器人可以发送主动消息。根据我所做的阅读,我需要在TeamsOperationsExtensions类的Microsoft.Bot.Connector.Teams命名空间中使用FetchChannelList方法

如果我这样做:

var connector=newconnectorclient(新Uri(activity.ServiceUrl));
ConversationList channels=connector.GetTeamsConnectorClient().Teams.FetchChannelList(activity.GetChannelData().Team.Id)

通道为空。如果我只将其分解为connector.GetTeamsConnectorClient(),它不是null,而是connector.GetTeamsConnectorClient().Teams.FetchChannelList(activity.GetChannelData().Team.Id)为null

为了进一步细分,我尝试获取activity.GetChannelData()。只有租户属性不为空。所有其他(频道、团队、事件类型和通知)均为空

我正在使用tunnelrelay,它将发送到bot的公共端点的消息转发到私有端点,并在消息控制器中使用租户筛选器身份验证。不确定这是否会导致任何问题?(当我看到通过隧道中继传入的消息时,我也看到了only Tenant是唯一一个不为null的channeldata属性。下面是我在隧道中继中看到的内容:
“实体”:[{“地区”:“en-US”,“国家”:“US”,“平台”:“Windows”,“type”:“clientInfo”}],“channelData”:{“租户”:{“id”:“我们的租户”}}

另外,将teamID视为FetchChannelList方法的参数,如何找出除GetChannelData()方法之外的给定团队的ID?我尝试了powershell cmdlet Get team(例如:Get team-User)me@abc.com)。它为我所属的每个团队返回一个不同的groupId,但我假设groupId!=TeamId。这是否正确?除GetChannelData方法外,我在哪里可以找到FetchChannelList所期望的TeamId


提前感谢您的帮助!

这里的问题是发送给机器人(活动)的消息是直接消息,而不是频道对话的一部分。显然,频道和团队属性仅在频道对话中可用

另外,关于团队ID,在代码之外获取它的一种方法是单击团队旁边的“…”并单击“获取团队链接”。您将看到如下内容:

team/(19%3A813345C7FAFE437E871115934TH3%40thread.skype)后面的行包含teamId,但不完全包含。如果将第一个%和紧跟其后的两个字符替换为:,第二个%和紧跟其后的两个字符替换为@,则这是您的teamId。因此,从:

19%3a813345c7fafe437e871111115934th3%40thread.skype

团队ID为:


19:813345c7fafe437e871111115934th3@thread.skype这里的问题是发送给机器人(活动)的消息是直接消息,而不是频道对话的一部分。显然,频道和团队属性仅在频道对话中可用

另外,关于团队ID,在代码之外获取它的一种方法是单击团队旁边的“…”并单击“获取团队链接”。您将看到如下内容:

team/(19%3A813345C7FAFE437E871115934TH3%40thread.skype)后面的行包含teamId,但不完全包含。如果将第一个%和紧跟其后的两个字符替换为:,第二个%和紧跟其后的两个字符替换为@,则这是您的teamId。因此,从:

19%3a813345c7fafe437e871111115934th3%40thread.skype

团队ID为:

19:813345c7fafe437e871111115934th3@thread.skype