我正试图向团队中的用户发送一条私人消息。
我已经检查了几个资源,但仍然有问题。
使用这个sampel https://github.com/officedev/msteams-samples-proactive-messaging,我尝试了以下操作。
>
ngrok http-host-header=重写5000
将MANIFEST.ZIP上载到团队
更新坐标-记录器/AppSettings
运行坐标记录器
dotnet run--sendUserMessage--app-id=“{{Bot Id}}”--app-password=“{{Bot Password}}”--service-url=“{{ServiceUrl}}”--conversation-id=“{{Conversation Id}}”--Message=“向用户发送消息”
Bot Id=appId Bot Password=secret Service-URL=ngrok主机(ngrok http://e4438bf4e8ed.ngrok.io)conversion-id=我的用户的团队guid
我在http://e4438bf4e8ed.ngrok.io/v3/conversations/xxxxxxx-59c1-45d2-829d-069fefda33bf/activities上获得404
我是不是漏掉了什么?
问题是你的服务对象--它不应该是你自己的服务的链接--它应该是特定对话的唯一服务对象。Teams根据租户所在的位置(例如“nam”代表北美)有几个。您需要为您的对话获取特定的一个,就像获取conversationID
一样。如果不熟悉您正在使用的这个特定示例,我猜它是“坐标记录器”项目的一部分。
ServiceUrl应该类似于以下内容:https://smba.trafficmanager.net/emea/或https://smba.trafficmanager.net/nam/或类似。
为了解释这一点的重要性,您可能会发现阅读我的一篇关于呼叫工作原理的博客文章是值得的。它没有讨论主动消息传递本身,但它仍然是相关的。请参见https://hilton.giesenow.com/how-bot-calls-acture-work。