В Facebook Messenger API, как предотвратить кнопку постбэк полезной нагрузки текста от записывается в окно чата по клику?

голоса
1

TLDR; @ дно

Я задал следующий вопрос в разделе глюков Facebook

Примечание: Это больше платформы дизайн предложения , чем ошибка, так как я не смог найти обратную связь портала чата API В настоящее время я строю чат - бот , который позволяет пользователю отслеживать цель. Он будет говорить что - то вроде «Вы пошли на прогулку по 12 июля 2016 года?» и нет да / нет кнопки ниже.
В настоящее время для того , чтобы передать намерение, день и достижение булево Мне нужно шаблон строки , как этот «== == GOAL достигается? <<< {goal_achieved} >>>, дата отслеживаются [[[{date_tracked}]] ]»и использовать регулярные выражения , чтобы захватить разделители переменных. Это склонное к разбору ошибки в других случаях , когда шаблонные строки в полезной нагрузке являются пользователем входным переменными , то есть , если {goal_achieved} 'были заменены переменной целью «>> медитировали»
Можно было бы использовать полезную нагрузку обратной передачи для хранения строки JSON-закодирован , но проблема состоит в том , что строка полезной нагрузки получает вход в выход пользователя и JSON строки немного уродливые и запутанной. Проблемы , с которыми я сталкиваюсь можно легко исправить , если полезная нагрузка не записывался пользователю Вместо войти текст для кнопки , чтобы помочь пользователю подтвердить кнопка была нажата.
Если это не возможно, есть какие - либо другие советы для кодирования данных в полезную нагрузку кнопки?

Следующий ответ был предложен (Mark Wiltse)

Привет Джастин, К сожалению, в это время наша структура полезной нагрузки не поддерживает функциональные возможности, которые вы пытаетесь осуществить. Из моего понимания вы хотите использовать Payload сообщить своему бэкенду, если пользователь выполнит свою «цель» на этой конкретную дату. Я хотел бы предложить вам создать свой ответ полезной нагрузки для кнопки на конце, прежде чем передать его нам, что в принципе идея JSON, что у вас изначально. Я знаю, что это немного громоздкая для обработки, но ответ полезной нагрузки передается обратно не зависит от текста, который был предоставлен с мессенджером резьбой. Я хотел бы предложить, что вы пытаетесь дезинфицировать свои строки, если вы беспокоитесь пользователь предварительно вы вызвать проблемы с регулярным выражением. Вы должны быть в состоянии реализовать эту функцию, если до пользовательских данных продезинфицировать, чтобы избежать каких-либо проблем с регулярным выражением / JSon разбором. Поскольку это вопрос реализации, мне придется закрыть этот отчет как недействительные. Если вы все еще ищете дополнительные идеи и конкретные советы для реализации этого потока пожалуйста, напишите нашим переполнение стека, где мы имеем Facebook инженеров и широкий круг членов сообщества, которые также вносят вклад. http://facebook.stackoverflow.com/ Позаботьтесь и наилучшими пожеланиями с посыльным ботом. отметка

Это предложение было особенно неясным:

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

TLDR; Может кто-нибудь сообщить мне о том, как предотвратить кнопку от входа строки полезной нагрузки, так что я могу использовать его, чтобы передать JSON моего приложению без ведома пользователя, видя его?

Задан 02/08/2016 в 21:59
источник пользователем
На других языках...                            


2 ответов

голоса
1

Из моего понимания вы говорите, что при нажатии кнопки ПОЛЕЗНЫЕ вместо текста данной кнопки показывают вверх.

Вы определения ваших кнопок, как это?

    {
      type: "postback",
      title: "View Details",
      payload: "details:12345"
    }

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

Если это не решит проблему:

Вы можете добавить скриншот, показывающий кнопку вы нажимаете, и сообщение журнала вы говорите? Из моего понимания вы говорите, что при нажатии кнопки ПОЛЕЗНЫЕ вместо текста данной кнопки показывают вверх. Это не так для меня, мой кнопки текст появляется при нажатии на кнопку.

Ответил 03/08/2016 в 16:24
источник пользователем

голоса
2

Убедитесь в том , чтобы закомментировать sendTextMessage()в вашем receivedPostback()вызове:

function receivedPostback(event){
    sendTextMessage(senderID, event.postback.payload);
}
Ответил 24/10/2016 в 16:01
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more