【问题标题】:MS Bot Framework 4.x SDK. How can I send raw JSON to a facebook messenger channel using C#MS Bot 框架 4.x SDK。如何使用 C# 将原始 JSON 发送到 facebook Messenger 频道
【发布时间】:2018-11-16 07:20:35
【问题描述】:

您确实需要能够在 facebook 发送原始 json 以利用所有 facebook messenger 功能,但我认为在 MS bot SDK 中无法做到这一点。 (第 4 版)。这是我认为应该有效的方法,但没有运气。如果我设置回复活动的 Text 属性,它只会在 messenger 上显示为文本(如预期的那样)。如果我使用字符串设置 ChannelData 属性,则不会引发异常,但 facebook messenger 不会显示响应消息。鉴于 FB Messenger 是一个多么庞大的平台,您会认为这是 SDK 中的优先事项,但我对此一无所知。

if (turnContext.Activity.Type == ActivityTypes.Message)

        {
            try
            {
                if((turnContext.Activity.ChannelId == Channel.Channels.Facebook)|| (turnContext.Activity.ChannelId == Channel.Channels.Emulator))
                {
                    string rsp = "{\"attachment\":{\"type\":\"template\",\"payload\":{\"template_type\":\"button\",\"text\":\"What do you want to do next?\",\"buttons\":[" +
      "{\"type\":\"web_url\",\"url\":\"https://www.messenger.com\",\"title\":\"Visit Messenger\"}]}}}";

                    Activity reply = turnContext.Activity.CreateReply();
                    _logger.LogInformation(rsp);

                    //reply.Text = rsp;  // display message as actual message to messenger
                    // reply.ChannelData = rsp; // fails request finishes on the MS bot service side, but nothing at all shows on messenger

                    reply.ChannelData = JsonConvert.DeserializeObject(rsp); // WORKS!
                    await turnContext.SendActivityAsync(reply);

.... // 在我的原始帖子中,JSON 字符串中有一个错误,一分钟后我得到了完整的答案...请参阅下面的答案。

【问题讨论】:

    标签: c# botframework facebook-messenger-bot


    【解决方案1】:

    我在这方面不好。原始帖子在 rsp 字符串中有一个错误,但我也查看了 sdk 源代码并意识到他们想要 ChannelData 的对象,而不是字符串....所以我反序列化它并将对象填充到 channeldata 并开始工作. SDK 版本 4 中很少有关于此的帖子,因此希望这对某人有所帮助。在我整天用头撞墙之后,我的墙需要修理一下。 – Fred Covely 刚刚

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      相关资源
      最近更新 更多