c# - Microsoft Teams 中的模拟
问题描述
我正在尝试使用 Teams 中的 Microsoft Bot Framework 将消息转发给选定的用户。该功能在 Bot Emulator 中按预期工作,但在我的组织中使用 Teams 进行测试时(使用有效的用户 ID)
消息作为 Bot 直接发送给用户。
IMessageActivity newMessage = Activity.CreateMessageActivity();
newMessage.Type = ActivityTypes.Message;
newMessage.From = new ChannelAccount("Impersonated User ID", "Impersonated User Name");
newMessage.Conversation = context.Activity.Conversation;
newMessage.Recipient = new ChannelAccount("Recipient ID");
//newMessage.From.Name = "Stephane Fornaroli";
newMessage.ReplyToId = context.Activity.From.Id;
newMessage.Text = text;
await context.PostAsync(newMessage);
这也适用于频道对话,用于将消息转发到指定频道:
var messagee = JsonConvert.DeserializeObject<ConversationReference>(conversationReference).GetPostToBotMessage();
var channelData = context.Activity.ChannelData;
var message = Activity.CreateMessageActivity();
message.Text = text;
message.From = new ChannelAccount("Impersonated User ID", "Impersonated User Name");
var conversationParameters = new ConversationParameters
{
IsGroup = true,
ChannelData = channelData,
Activity = (Activity)message
};
var connectorClient = new ConnectorClient(new Uri(messagee.ServiceUrl));
await connectorClient.Conversations.CreateConversationAsync(conversationParameters);
解决方案
One option would be to use Graph API to send message using delegate permissions from user. Note that currently this API is in beta and only supports sending plain text message.
推荐阅读
- python-3.x - Pandas:使用 DataFrameGroupBy.filter() 方法选择 DataFrame 的行,其值大于相应组的平均值
- android - 如何销售与图书捆绑的付费应用程序?
- java - (Node.js, socket.io) JSONObject 无法转换为 int
- mysql - mysql 使用连接表和计数将动态日期从行转置到列
- sql-server - 将 Python 库导入 SQL Server
- azure-devops - 用于 Runbook 的 Azure ARM 模板,其中包含来自 Azure Git Repo 的 Powershell 文件
- javascript - JS如何更新列表项
- python-3.x - tika-python 的语言检测不起作用
- css - 底部边距对 App Bar 间距没有影响
- c++ - 将 utf16 宽 std::wstring 转换为 utf8 窄 std::string 以获取稀有字符时出现问题