Ошибка facebook-messenger-bot: Когда и почему возникла эта ошибка (#100) Длина параметра name_placeholder[text] должна быть меньше или равна 640

У меня есть приложение Django, которое подключено к Messenger для страницы Facebook. Когда какие-либо сообщения пользователя Facebook на странице Facebook, мое приложение пытается ответить автоматически после разбора сообщения пользователя Facebook. Если при отправке сообщения из моего приложения Django произошла какая-либо ошибка, я сохранил текст ошибки в столбце таблицы. Когда я попытался проанализировать ошибки, возникающие при отправке сообщения, я обнаружил, что один текст ошибки выглядит следующим образом.

"(#100) Length of param name_placeholder[text] must be less than or equal to 640"

и я не могу регенерировать его.

Есть еще одна похожая ошибка "(#100) Length of param message[text] must be less than or equal to 2000", которая очень ясна, и я могу ее восстановить.

Я искал в Google и не нашел ничего, что могло бы мне помочь.

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

Я использовал следующий API для отправки сообщений пользователю Facebook https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN с этим параметром заголовка
{'content-type': 'application/json'}
и этими данными

{
    "messaging_type": "RESPONSE",
    "recipient": {
        "id": "receiver_id"
    },
    "message": {
        "text": "message_text"
    }
}

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


person Md. Nahidur Rahman    schedule 11.09.2019    source источник


Ответы (1)


Если вы хотите отправить Шаблон кнопки, текст будет иметь ограничение в 640 символов. Вероятно, ваш текст слишком длинный, и поэтому вы получаете это сообщение об ошибке.

См. message.attachment.payload > text: текст в кодировке UTF-8 длиной до 640 символов. Над кнопками появится текст.

Если вы просто отправляете простое текстовое сообщение через API отправки, то это будет иметь ограничение в 2000 символов.

person Klemens Zleptnig    schedule 14.03.2020