C# 在MS Team Bot框架中发送通知时获取错误请求并被禁止

C# 在MS Team Bot框架中发送通知时获取错误请求并被禁止,c#,botframework,microsoft-teams,C#,Botframework,Microsoft Teams,我正在向大约50k个用户发送通知,我注意到只有极少数用户在错误日志中记录了两个不同的错误 这两个错误是 操作返回了无效的状态代码“禁止” 操作返回了无效的状态代码“BadRequest” 我无法理解为什么只有少数用户会出现这种错误 我尝试了一种方法,我阻止了我的机器人并向自己发送通知,然后禁止错误被记录下来 在向用户发送消息时发生这两个错误还有其他原因吗 编辑:- 禁止的错误 位于Microsoft.Bot.Connector.Conversations.SendtoConversationWi

我正在向大约50k个用户发送通知,我注意到只有极少数用户在错误日志中记录了两个不同的错误

这两个错误是

操作返回了无效的状态代码“禁止”

操作返回了无效的状态代码“BadRequest”

我无法理解为什么只有少数用户会出现这种错误

我尝试了一种方法,我阻止了我的机器人并向自己发送通知,然后
禁止
错误被记录下来

在向用户发送消息时发生这两个错误还有其他原因吗

编辑:- 禁止的错误
位于Microsoft.Bot.Connector.Conversations.SendtoConversationWithHttpMessageAsync(字符串会话ID、活动活动、字典2自定义标题、取消令牌取消令牌),位于Microsoft.Bot.Connector.ConversationsExtensions.SendToConversationAsync(IConversations操作、字符串会话ID、活动活动、取消令牌取消令牌)

如有要求:- Microsoft.Bot.Connector.Conversations.CreateConversationWithHttpMessageAsync(ConversationParameters参数,Dictionary2 CustomHeader,CancellationToken CancellationToken)上的Microsoft.Bot.Connector.ConversationsExtensions.CreateConversationAsync(IConversations操作、ConversationParameters参数、CancellationToken CancellationToken)


谢谢。

尝试使用
Microsoft.Bot.Builder 4.10.2

Microsoft最近发布了Bot.Builder库的更新。在不使用最新版本时,我在PowerBI API库中看到过类似的错误

您还可以尝试在调用
CreateConversationAsync()
之前添加以下内容:

  • 每当用户主动阻止bot联系人时(例如,右键单击团队中的联系人或应用程序->阻止),就会返回消息“操作返回无效状态代码‘禁止’”。 在这种情况下,Azure门户中的频道日志还应报告消息:“用户阻止了与机器人的对话”

  • 消息“操作返回了无效的状态代码'BadRequest'”更难解决;根据我的经验,这通常与团队频道不支持的某些有效负载有关:例如,AdaptiveCard中不支持的属性,或OpenUrl操作中格式不正确的URL。我的建议是使用App Studio Team应用程序中的卡片编辑器测试任何AdaptiveCard内容,然后将其发布到真实对话中。否则,找出问题的原因可能会非常棘手


  • 你在你的机器人的频道刀片(Azure)中看到更多关于团队的信息了吗?Hello@DanaV,我发现这条消息“用户阻止了与机器人的对话”在azure Channel for Team中作为警告。我想我以前没有见过这种情况。你是否为你的机器人设置了AppInsights?如果是,你能检查日志并查看那里的异常情况吗?通常查询类似于
    异常| where timestamp>ago(24小时)| limit 10
    的内容,假设你在过去24小时内出现问题(或更改查询)你确定正在向所有用户发送相同的消息吗?是否以某种方式进行了个性化处理?如果是这样,可能是因为某种特定的个性化处理。是否每次都以相同的方式对相同的用户失败?Hello@HiltonGiesenow,这是我们发送给每个人的相同消息。我刚刚添加了我收到的错误被禁止的错误请求。Hello@vv4d,我正在使用'MicrosoftAppCredentials.TrustServiceUrl(serviceUrl,DateTime.Now.AddDays(7));'和
    CreateConversationAsync(ConversationParameters)
    和Bot.Builder4.8.0。您能详细帮助我如何使用
    CreateConversationwithHttpMessageAsync
    @Krishna089抱歉,我提到了错误的方法,请继续。您将继续使用
    CreateConversationAsync()
    MicrosoftAppCredentials.TrustServiceUrl(ServiceUrl, DateTime.MaxValue);