|
Отправка PDF из 1с в ватсап, Base64Строка | ☑ | ||
---|---|---|---|---|
0
nikolas260579
06.08.19
✎
12:37
|
Всем добрый день. Пытаюсь отправить пдф из 1с в ватсап.
ТемпФайл=ПолучитьИмяВременногоФайла("PDF"); РезультатТ.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; РезультатТ.Записать(ТемпФайл,ТипФайлаТабличногоДокумента.PDF); ДД = Новый ДвоичныеДанные(ТемпФайл); Сообщение = Base64Строка(ДД); В соответствии с https://api-messenger.com/documentations/sendfile/ записываю Сообщение в параметр "body", передаю остальные обязательные параметры. На выходе получаю код состояния 422. В теле ответа ошибка {"status":"ERROR","message":"The string is not valid base64 (body)"}. Почему в теле не Base64Строка, что я сделал не так? |
|||
1
Вафель
06.08.19
✎
12:49
|
||||
2
Cyberhawk
06.08.19
✎
12:50
|
"записываю Сообщение в параметр "body", передаю остальные обязательные параметры" // Покажи код
|
|||
3
Cyberhawk
06.08.19
✎
12:52
|
Судя по квадратным скобкам телом запроса должен быть массив из одного элемента-структуры (или соответствия), а не сама структура (или соответствие)
|
|||
4
nikolas260579
06.08.19
✎
12:54
|
(2) JSONСписок = Новый ЗаписьJSON();
JSONСписок.ПроверятьСтруктуру = Ложь; ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(); JSONСписок.УстановитьСтроку(ПараметрыЗаписиJSON); JSONСписок.ЗаписатьНачалоМассива(); JSONСписок.ЗаписатьНачалоОбъекта(); JSONСписок.ЗаписатьИмяСвойства("body"); JSONСписок.ЗаписатьЗначение(Сообщение); JSONСписок.ЗаписатьИмяСвойства("filename"); Пока не Найти(ПутьКФайлу,"\")=0 Цикл ПутьКФайлу = Сред(ПутьКФайлу,Найти(ПутьКФайлу,"\") +1); КонецЦикла; JSONСписок.ЗаписатьЗначение(ПутьКФайлу); JSONСписок.ЗаписатьИмяСвойства("chatId"); JSONСписок.ЗаписатьЗначение(Телефон); |
|||
5
Cyberhawk
06.08.19
✎
12:55
|
Постманом значит еще проверь
|
|||
6
Вафель
06.08.19
✎
12:56
|
так это же бом
|
|||
7
nikolas260579
06.08.19
✎
13:11
|
А дело в маске там не может быть? В этой ссылке отправляют картинку в качестве примера, там перед всей кучей символов стоит такая штука "body": "data:image/jpeg;base64,/9j/(дальше куча символов)
|
|||
8
Cyberhawk
06.08.19
✎
13:13
|
Ну вот и ты проверь с картинкой для начала, только без той муйни что в примере
|
|||
9
Cyberhawk
06.08.19
✎
13:14
|
Потом и с муйней проверь - если с муйней прокатит, то документация УГ и значит добавляй эту муйню и у себя
|
|||
10
nikolas260579
07.08.19
✎
11:38
|
Подниму тему. Проверял свою полученную строку в декодировщиках, например base64.guru. При декодировке получаю нужный пдф файл. В 1с назад через base64Значение тоже получаю исходные двоичные данные.
|
|||
11
nikolas260579
07.08.19
✎
12:04
|
Проверил регулярным выражением http://qaru.site/questions/53274/how-to-check-whether-the-string-is-base64-encoded-or-not, тоже всё нормально.
|
|||
12
ManyakRus
07.08.19
✎
12:45
|
http://catalog.mista.ru/public/1043780/
там уже всё сделано, работает :) |
|||
13
nikolas260579
07.08.19
✎
12:53
|
нет стартманей у меня, чтобы скачать(
|
|||
14
nikolas260579
08.08.19
✎
10:13
|
Ещё раз подниму тему. Оказалось, что при кодировании Base64Строка () мне сделала строку с переносами и возвратом каретки, это я заменил. Я решил глянуть конвертер из Бэйз64 в JSON. Сначала строку подставлял в графу Бэйз 64, мне выдало ошибку, мол, это не Бэйз64 строка. Подставил её в графу JSON, тогда её нормально преобразовало в Бэйз64. Теперь думаю, как со стороны 1С это преобразование из JSON в строку Бэйз 64 сделать.
|
|||
15
nikolas260579
08.08.19
✎
10:14
|
конвертер этот https://onlinejsontools.com/convert-base64-to-json
|
|||
16
Cyberhawk
08.08.19
✎
10:25
|
Ну так ПараметрыЗаписиJSON же
|
|||
17
nikolas260579
08.08.19
✎
10:36
|
(16) Пока не понял, а как я через них строку преобразую?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |