c# - 向 MS Teams 发送主动消息
问题描述
我无法向 MS Teams 发送主动消息。您可以在下面看到代码和错误。错误信息如下: 对话创建参数不正确
当我将应用程序日志放在托管机器人的 azure 门户中时:我看到以下错误:Microsoft.Bot.Builder.Integration.AspNet.Core.BotFrameworkHttpAdapter:异常捕获:发生了一个或多个错误。(操作返回无效状态代码“BadRequest”)
2019-09-16T13:32:57 Microsoft.WindowsAzure.Storage.StorageException:远程服务器返回错误:(409) 冲突。---> System.Net.WebException:远程服务器返回错误:(409) Conflict.at System.Net.HttpWebRequest.GetResponse()at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T]( REST命令
1 cmd, IRetryPolicy policy, OperationContext operationContext)--- End of inner exception stack trace ---at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand
Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.ListBlobsSegmented(字符串前缀,布尔值 useFlatBlobListing,BlobListingDetails blobListingDetails,Nullable`1 maxResults,BlobContinuationToken currentToken,BlobRequestOptions 选项,OperationContext operationContext)上的 1 cmd,IRetryPolicy 策略,OperationContext operationContext)。 WebSites.Diagnostics.AzureBlobTraceListener.CleanupOldBlobLogs(Object state)Request InformationRequestID:a8f8929d-001e-0005-4693-6ccae9000000RequestDate:Mon, 16 Sep 2019 13:32:57 GMTStatusMessage:该版本无法识别容器中的 blob 类型。错误代码:功能版本不匹配。请你帮助我好吗?谢谢
MicrosoftAppCredentials.TrustServiceUrl(turnContext.Activity.ServiceUrl);
var teamConversationData = turnContext.Activity.GetChannelData<TeamsChannelData>();
var connectorClient = new ConnectorClient(new Uri(turnContext.Activity.ServiceUrl), _credentialProvider.AppId, _credentialProvider.Password);
var userId = "28:2c988176-cea6-4aaa-9a69-8ace544a43e3";
var tenantId = teamConversationData.Tenant.Id;
var parameters = new ConversationParameters
{
Members = new[] { new ChannelAccount(userId) },
ChannelData = new TeamsChannelData
{
Tenant = new TenantInfo(tenantId),
},
};
var conversationResource = await connectorClient.Conversations.CreateConversationAsync(parameters);
var message = Activity.CreateMessageActivity();
message.Text = "This is a proactive message1.";
await connectorClient.Conversations.SendToConversationAsync(conversationResource.Id, (Activity)message);
// Save any state changes that might have occured during the turn.
解决方案
推荐阅读
- request - 我已经请求 lib 但得到 ImportError: No module named request
- mysql - 连接数据库并在 Node 中创建数据库
- python - 遍历目录会引发非迭代器错误
- python-3.x - 为什么 count() 方法给出奇怪的答案?
- android - AlertDialog 单元测试 - java.lang.VerifyError:操作数堆栈上的错误类型
- node.js - 如何在 AWS-lambda 中使用 nodeJS 对 dynamo DB 中的数据进行排序
- wso2 - wso2流处理器中给出的教程没有按预期工作,特别是Making Real Time Predictions
- python - 我的 API Get Request 可以让我不超过 100 ,如何循环它以便我可以获得所有项目?
- c# - EF Core 2.0,删除单个导航属性,一对一,使用 Fluent Api
- reactjs - 在标签内单击按钮后,模拟函数未识别为已调用