如何在我的 Web 应用程序中启用 Microsoft Teams 登录和通知(节点 <=13)

问题描述 投票:0回答:1

我正在开发一个 Web 项目,我想添加一项功能,允许拥有 Microsoft Teams 帐户的用户登录我的网站。用户应该能够选择 Teams 频道来接收通知。然而,我在理解必要的工作流程和处理 SDK 方面遇到了困难。不幸的是,我只能使用 Node 版本 13,而且大多数 SDK 都不支持它。另外,我无法使用 Teams 机器人/应用程序。有没有办法使用 Microsoft Graph API 进行用户登录、频道选择以及从 ExpressJS 后端发送通知?通知/频道消息不应从用户端发出,而应从我的 Web api 发出。 我可以使用 Entra 管理中心注册新应用程序等,但不能使用 Teams 应用程序。

我研究了不同的 SDK,但它们不适用于 Node 13,而且我不断遇到冲突,尤其是与机器人的冲突,我必须完全排除这种情况。我正在寻找有关使用 Microsoft Graph API 的建议、工作流程指南、适用于 Node 13 的任何兼容 SDK,以及一些将此功能集成到我的 ExpressJS 后端中的代码片段(如果可能)。任何帮助深表感谢! 我还查找了 webhooks,但同样,当涉及到没有 SDK 的身份验证和授予权限等时,我迷失了方向。

authentication oauth-2.0 microsoft-graph-api microsoft-teams
1个回答
0
投票

有多种方法可以将消息/通知发送到频道,但大多数方法都需要创建 Teams 机器人。

  1. 使用活动源通知 API: https://learn.microsoft.com/en-us/graph/teams-send-activityfeednotifications?tabs=http#requirements-for-using-the-activity-feed-notification -api

  2. 使用传入 Webhook: 您可以创建传入 Webhook,但目前不支持身份验证: https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=dotnet

  3. 使用Graph API:您可以使用Graph API在频道或聊天中发送chatMessage,它需要承载令牌、团队ID和频道ID: https://learn.microsoft.com/en-us/graph/api/chatmessage-post?view=graph-rest-1.0&tabs=http

如何为控制台应用程序生成令牌: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-console-app-netcore-acquire-token

如何为 SPA 应用生成令牌: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-single-page-app-react-sign-in

© www.soinside.com 2019 - 2024. All rights reserved.