使用 Microsoft Graph API 或 BOT API 发送 MS Teams 消息

丹巴2304

我正在尝试实施以下解决方案:订阅所有 MS 团队聊天消息的 Web 应用程序。如果消息包含被禁止的文本,应用程序应该以某种方式警告用户(最好通过回复相同的消息,或者,如果不可能,启动与用户的对话)。

我能够接收所有聊天 webhook 并处理它们,但我找不到任何方法使用 Graph API(https://docs.microsoft.com/en- 中描述的操作)将消息发回 Teams 频道
应用程序权限不支持us/graph/api/channel-post-messagereply?view=graph-rest-beta&tabs=http - 只有不适合我们情况的委派权限)。

所以我正在尝试使用 Bot 框架发送主动消息,但是,bot 框架需要一个我没有的团队对话 ID(图形 API webhook 提供了团队、频道和用户 ID,但没有一个被接受Bot API)。

有谁知道我可以使用图形 API 提供的团队 ID 和频道 ID 检索团队对话 ID 的方法吗?

谢谢,丹

瓦吉德-MSFT

频道消息的 ConversationId 是 channelId 和 messageId 的组合,两者都可以在您收到webhook 通知的有效负载中找到您可以使用以下方法通过构建 converstionId 来回复现有对话:

 conversationId =   $"{channelId};messageid={messageId}"

为了回复工作,您的 Bot 需要安装在团队中,并且应该在某个地方保存serviceURL以供参考。这是示例代码,显示了如何回复现有消息。

var serviceURL = "YOUR Service URL- You get this in each bot payload";
MicrosoftAppCredentials.TrustServiceUrl(serviceURL, DateTime.MaxValue);
using var connector = new ConnectorClient(new Uri(serviceURL, MicrosoftAppId, MicrosoftAppPassword);


var conversationId = $"{channelId};messageid={messageId}";
var replyActivity = MessageFactory.Text($"This is simple reply to existing conversation.");
replyActivity.Conversation = new ConversationAccount(id: conversationId);
var response = await connector.Conversations.SendToConversationAsync(conversationId, replyActivity);

对于 1:1 回复 - 请查看发送主动消息文档。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Graph API在Microsoft Teams的机器人通道中以机器人的身份向用户发送消息

Microsoft Teams Graph Explorer:如何在“发送频道消息”API 中提及频道成员?

使用 Microsoft Graph API 从特定帐户发送消息

使用 Bot 框架在 Microsoft Teams 上发送主动消息

如何通过Microsoft graph API C#在Microsoft Teams中将消息发送到1:1聊天或群聊

如何使用Microsoft Graph API检索另一个用户的MS Teams聊天?

如何使用 Microsoft Graph 从 Microsoft Teams 机器人发送消息?

通过Microsoft Graph API访问Microsoft Teams频道消息时出现错误:Proxy_InternalServerError

我可以使用Microsoft Graph API在我所属的MS Teams中的所有团队/组中搜索文件吗

Microsoft Graph API for OOO消息

Microsoft-Teams通过Graph API获取所有消息通道及其回复

Microsoft Graph Api / Teams-无法列出频道中的聊天消息(401/403)

如何在 microsoft-teams graph api 中获得聊天消息的“可见”状态?

是否可以使用MS Graph API v1.0创建MS Teams会议?

使用Microsoft Graph REST API过滤事件消息

使用适用于 Python 的 Bot Framework SDK v4 初始化并向 Microsoft Teams 频道发送消息

用于邮件发送的MS Graph API订阅

从 Microsoft Graph API 消息获取对话

如何通过Graph API在MS Teams中安排会议

使用 Graph API 响应 Microsoft Teams 中的机器人调用

使用Graph API和委派权限将成员添加到Microsoft Teams

Microsoft Teams:使用 Graph API 跟踪/列出通话中的参与者

是否有Microsoft Graph MS Word API?

从SSIS发送Microsoft Teams聊天消息的方法

如何使用控制台应用程序通过Microsoft Graph API调用Microsoft Teams OnlineMeeting端点?

使用REST API在Azure Bot Services中添加MS Graph API Oauth

如何通过REST API在Teams通道内更新(编辑)Microsoft Teams消息(话题或回复)

使用Graph Api创建团队时无法访问Microsoft Teams频道的电子邮件地址,SharePoint和文件

使用 MS Exchange Graph API Java SDK 发送带有投票按钮的交换电子邮件