【发布时间】:2019-07-12 07:16:05
【问题描述】:
我使用 C# 中的 microsoft framework v4 SDK 编写了一个机器人。该机器人部署在 Azure 中,并连接到网络聊天、直线和 Facebook Messenger 渠道。该机器人适用于所有人。
用户可以订阅以主动接收更新。为此,我使用存储的 ConversationReference,然后使用它发送主动消息。同样,这一切都可以正常工作除非重新启动 bot wepApp,这会导致:-
Exception caught : Microsoft.Bot.Schema.ErrorResponseException: Operation returned an invalid status code 'Unauthorized' for the facebook channel.
如果我从 facebook messenger 向机器人发送另一条消息,那么主动消息将再次开始工作,即使对于旧存储的 ConversationReferences 也是如此。
最初我根据示例使用 MemoryStorage,但我将其更改为将 Azure Blob 存储用于会话状态和用户状态。这没什么区别。 就好像它必须在内存中存储一个 facebook auth 令牌,所以如果应用程序重新启动,令牌会丢失,直到用户从 messenger 发送另一条消息。
我有什么办法可以解决这个问题,因为如果它无法处理机器人 webApp 重启,它会使订阅的主动更新变得毫无意义?
非常感谢
【问题讨论】:
标签: facebook botframework facebook-messenger unauthorized proactive