c# - 从 Controller 向 Microsoft Teams 发送消息
问题描述
我正在尝试将一些消息从我的 API(内置 .NET Core)发送到团队频道。根据文档,我需要使用这段代码,但我不知道如何创建authProvider
对象。
Grenter code hereaphServiceClient graphClient = new GraphServiceClient( authProvider );
var chatMessage = new ChatMessage {
Body = new ItemBody {
Content = "Hello World"
}
};
await graphClient.Teams["{team-id}"].Channels["{channel-id}"].Messages
.Request()
.AddAsync(chatMessage);
我一直在阅读文档,但我不明白我必须做什么。
这是我的控制器
[HttpGet]
[Route("SendMessage")]
[ProducesResponseType(StatusCodes.Status200OK, Type = typeof(string))]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
public async Task<IActionResult> SendMessageToTeams(string message) {
try {
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
var chatMessage = new ChatMessage {
Body = new ItemBody {
Content = "Hello World"
}
};
await graphClient.Teams["xxx"].Channels["xxx"].Messages
.Request()
.AddAsync(chatMessage);
return Ok();
}
catch (Exception ex) {
return BadRequest();
}
}
你能帮我解决这个问题吗?
谢谢。
解决方案
实际上有很多方法可以做到这一点,选择哪种方法取决于您更广泛的应用程序要求。但是,对于向频道发送消息的最简单方法,我建议查看 Incoming Webhooks - 在https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/中查看更多信息操作方法/添加传入 webhook
推荐阅读
- javascript - 仅在相同的起始字母字符串之间替换逗号
- python - 在 Django 视图中的查询中过滤查询
- java - Byte Buddy Not Loading Classes and Throwing Class Not Found
- bash - 除第一个匹配项外,每个匹配列中的递增数字
- ansible - Ansible 清单:使用多个标准对主机进行分类
- c - 如何将单个字符存储在二维字符数组中?
- python - time.sleep 在 while 循环中似乎无法正常工作
- emacs - 在 org-mode 中使用 tramp :session 的奇怪结果
- laravel - Laravel Passport api:auth 中间件“函数名必须是字符串”
- python - ModuleNotFoundError:Python 中没有名为“XXX”的模块