Преобразование шаблона кнопки facebook из JSON в C # - PullRequest
0 голосов
/ 24 мая 2019

Здравствуйте, я пытаюсь сделать этот шаблон на моем коде C # для Bot Framework V4. Это код из фейсбука.

  "payload": {
  "template_type":"button",
  "text":"<MESSAGE_TEXT>",
  "buttons":[
    <BUTTON_OBJECT>, 
    <BUTTON_OBJECT>, 
    ...
  ]
}

И это моя попытка сделать это. Я не могу отладить ошибку, потому что она работает только в мессенджере. Спасибо за любую помощь, спасибо.

            Activity reply = stepContext.Context.Activity.CreateReply();
            reply.ChannelData = JObject.FromObject(
                new
                {
                    attachment = new
                    {
                        type = "template",
                        payload = new
                        {
                            template_type = "button",
                            text = "xx",
                            buttons = new[]
                            {
                               new
                                  {
                                       type = "web_url",
                                       title = "take test",
                                       url = "xx",
                                       messenger_extensions="true",
                                       webview_height_ratio = "tall",
                                  },
                            },
                        },
                    },
                });
            await stepContext.Context.SendActivityAsync(reply);

1 Ответ

0 голосов
/ 24 мая 2019

Ваш код выглядит нормально.Убедитесь, что Белый список любых URL-адресов, которые вы используете с Facebook.Обратите внимание, что они должны быть https URL.Кроме того, если веб-сайт не настроен для просмотра веб-страниц, вам не нужны свойства messenger_extensions и webview_height_ratio в кнопке.

var reply = turnContext.Activity.CreateReply();

var attachment = new
{
    type = "template",
    payload = new
    {
        template_type = "button",
        text = "Sign up for our mailing list!",
        buttons = new[]
        {
            new
            {
                type = "web_url",
                url = "https://mybot.azurewebsites.net/",
                title = "Sign Up!"
            },
        },
    },
};

reply.ChannelData = JObject.FromObject(new { attachment });

await turnContext.SendActivityAsync(reply, cancellationToken);

Посмотрите документацию Messenger на Шаблоны кнопок длябольше деталей.

Надеюсь, это поможет!

...