Microsoft Teams 应用程序 - Post 通过机器人发送通知
Microsoft Teams App - Post Notification via Bot
我有一个 Microsoft Teams 应用程序。目前,该应用程序正在开发中。我还不想提交应用程序以供批准。但是,我确实想将一个仅通知机器人集成到我的应用程序中。目前,我正在尝试通过此机器人测试此应用程序的通知。但是,我卡住了。
据我了解,要post通知,我需要:
- 获取访问令牌
- 为我的机器人获取不记名令牌
- 开始对话
- Post一条消息
如果我在这方面有任何错误,请告诉我。无论哪种方式,我都停留在第 1 步。尝试从 https://login.microsoft.com/botframework.com/oauth2/v2.0/token
获取访问令牌时,我收到一条错误消息:
Application with identifier '{guid}' was not found in the directory 'botframework.com'. This can happen if the application has not ben installed by the administrator of the tenant or consented to by any user in the tenant.
由于我使用 App Studio 中的 Install
按钮从 Test and Distribute
选项卡安装了该应用程序,因此我认为这满足了我(租户中的用户)同意的需求使用该应用程序。但是,我想因为我还没有将应用程序提交到商店,所以我无法通过 https://login.microsoft.com/botframework.com/
获得令牌。这是真的?如果是这样,我应该使用另一个端点吗?如何为我正在积极开发/测试的团队应用程序中的机器人获取令牌?
Microsoft BotFramework 机器人在确保连接安全时始终需要有应用 ID 和应用密码。此 ID 和密码已在 Azure 门户中注册(会将信息传递给 botframework.com)。
您可以在没有 ID 和密码的情况下在本地测试您的 Bot,但是当尝试集成其他渠道(如 MS Teams)时,您将需要配置这些 ID 和密码...
通常你会通过将它们传递给你的 ICredentialProvider
:
services.AddSingleton<ICredentialProvider>(provider => new SimpleCredentialProvider(appId, appPassword))
您不需要以任何方式发布您的机器人。只需在 Azure 门户中创建应用程序注册并使用应用程序 ID 和密码。
永远记住,Teams 应用程序和 BotFramework 机器人没有任何共同之处。 BotFramework 与渠道无关。只有 MS Teams 应用程序知道有一个使用您的应用程序 ID 的机器人(在 manifest.json 中配置)。
MS Teams (emea.ng.msg.teams.microsoft.com
)、BotFramework (token.botframework.com
) 和您的 Bot(xxx.azurewebsites.net
甚至 ngrok...)之间的连接通过 App ID 和密码。 所以永远不要告诉任何人您的应用程序密码是什么。
我有一个 Microsoft Teams 应用程序。目前,该应用程序正在开发中。我还不想提交应用程序以供批准。但是,我确实想将一个仅通知机器人集成到我的应用程序中。目前,我正在尝试通过此机器人测试此应用程序的通知。但是,我卡住了。
据我了解,要post通知,我需要:
- 获取访问令牌
- 为我的机器人获取不记名令牌
- 开始对话
- Post一条消息
如果我在这方面有任何错误,请告诉我。无论哪种方式,我都停留在第 1 步。尝试从 https://login.microsoft.com/botframework.com/oauth2/v2.0/token
获取访问令牌时,我收到一条错误消息:
Application with identifier '{guid}' was not found in the directory 'botframework.com'. This can happen if the application has not ben installed by the administrator of the tenant or consented to by any user in the tenant.
由于我使用 App Studio 中的 Install
按钮从 Test and Distribute
选项卡安装了该应用程序,因此我认为这满足了我(租户中的用户)同意的需求使用该应用程序。但是,我想因为我还没有将应用程序提交到商店,所以我无法通过 https://login.microsoft.com/botframework.com/
获得令牌。这是真的?如果是这样,我应该使用另一个端点吗?如何为我正在积极开发/测试的团队应用程序中的机器人获取令牌?
Microsoft BotFramework 机器人在确保连接安全时始终需要有应用 ID 和应用密码。此 ID 和密码已在 Azure 门户中注册(会将信息传递给 botframework.com)。
您可以在没有 ID 和密码的情况下在本地测试您的 Bot,但是当尝试集成其他渠道(如 MS Teams)时,您将需要配置这些 ID 和密码...
通常你会通过将它们传递给你的 ICredentialProvider
:
services.AddSingleton<ICredentialProvider>(provider => new SimpleCredentialProvider(appId, appPassword))
您不需要以任何方式发布您的机器人。只需在 Azure 门户中创建应用程序注册并使用应用程序 ID 和密码。
永远记住,Teams 应用程序和 BotFramework 机器人没有任何共同之处。 BotFramework 与渠道无关。只有 MS Teams 应用程序知道有一个使用您的应用程序 ID 的机器人(在 manifest.json 中配置)。
MS Teams (emea.ng.msg.teams.microsoft.com
)、BotFramework (token.botframework.com
) 和您的 Bot(xxx.azurewebsites.net
甚至 ngrok...)之间的连接通过 App ID 和密码。 所以永远不要告诉任何人您的应用程序密码是什么。