我一直在努力从 C# 控制台应用程序向托管在 Azure 中的 Skype 机器人发送直接消息,但我不断收到错误:操作返回无效的状态代码“未经授权”,但我提供了以下凭据:
Web.配置文件
<appSettings>
<add key="BotId" value="myBotId" />
<add key="MicrosoftAppId" value="AppId" />
<add key="MicrosoftAppPassword" value="Password" />
</appSettings>
我确定了以上几点!所以不可能是这样。
我的控制台应用程序代码:
var userAccount = new ChannelAccount(name: "User", id: "default-user");
var botAccount = new ChannelAccount(name: "Bot", id: "id");
var connector = new ConnectorClient(new Uri("https://f2d92691.ngrok.io"));
IMessageActivity message = Activity.CreateMessageActivity();
if (!string.IsNullOrEmpty(conversationId) && !string.IsNullOrEmpty(channelId))
{
message.ChannelId = channelId;
}
else
{
conversationId = (await connector.Conversations.CreateDirectConversationAsync(botAccount, userAccount)).Id;
}
message.From = botAccount;
message.Recipient = userAccount;
message.Conversation = new ConversationAccount(id: conversationId);
message.Text = messageText;
message.Locale = "en-Us";
await connector.Conversations.SendToConversationAsync((Activity)message);
这是我用来使用机器人模拟器的代码。
以前有人这样做过吗?请注意,我可以使用以下示例发送消息:https://learn.microsoft.com/en-us/azure/bot-service/dotnet/bot-builder-dotnet-proactive-messages https://learn.microsoft.com/en-us/azure/bot-service/dotnet/bot-builder-dotnet-proactive-messages
但这是机器人本身使用的代码,我不想在机器人之外使用它。
Thanks
找到解决方案,如果您使用代码在机器人外部发送消息,只需添加此行。MicrosoftAppCredentials.TrustServiceUrl(URL);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)