Bot连接器返回带有Microsoft.Bot.Connector.ErrorResponseException的禁止(403)

时间:2018-12-13 10:08:42

标签: c# .net azure-active-directory botframework

我们正在使用漫游器连接器来创建主动消息,以发送给Microsoft Teams中的用户。

Bot连接器使用Microsoft.Bot.Connector.ErrorResponseException返回禁止(403)。 仅当将代码部署到Azure中的特定环境并且没有出现在任何测试环境中时,这种情况才会发生。

我们从部署本身收到的警告是“用户来自不同区域” Message: User is from different region

这是使用连接器的方式:

conversationId = connector.Conversations.CreateOrGetDirectConversation(
                      botAccount,
                      userAccount,
                      "<Azure Active Directory Id>").Id;

有没有人看到过此问题,解决该问题需要考虑什么?

1 个答案:

答案 0 :(得分:3)

这可能是两件事之一。

确保您的Azure子目录与M365租户链接到相同的Azure Active Directory。您可以通过以下方法进行验证:转到Azure门户,搜索 Subscriptions ,然后选择将Bot服务部署到的订阅。您应该在顶部菜单中找到更改目录进行验证。

Bot Framework连接器的服务URL也必须位于用户区域中。请注意,每个区域都有专用的Traffic Manager端点。 例如。

https://smba.trafficmanager.net/emea/
https://smba.trafficmanager.net/amer/

第一个针对emea,第二个针对美国(amer)。

选择错误的用户可能会触发“用户来自其他区域。”