#0
by ILNIK19
Добрый день. Уже несколько дней бьюсь над проблемой. Нужно сделать запрос к api АТС Манго офис. Надо получить статистику по звонкам, для этого сделать первый запрос с требуемыми параметрами статистики, потом api возвращает ключ, и ты делаешь второй запрос с этим ключом, для получения данных. В принципе он срабатывает, но есть проблема. Когда в ключе есть символ "+", то при отправке он превращается в пробел. Т.е. я в отладке вижу, что отправляю ключ и в нем есть знак "+", а тех поддержка видит ,что в отсылаемом им ключе вместо "+" стоит пробел. Если ключ не содержит "Плюсов", то все срабатывает как надо, без ошибок. Т.е. запрос статистики срабатывает через раз ,если повезет и не будет в ключе плюса, то ок, иначе ошибка 401. {"name":"Unauthorized","message":"You are requesting with an invalid credential.","code":0,"status":401} В чем может быть дело? Пример запроса с плюсом: } Текст запроса данных:
#1
by ILNIK19
Вот пример на PHP из их руководства ) */ /************ Отправка с использованием file_get_contents ************/ /************ Отправка с использованием cUrl ************/
#3
by ILNIK19
Это формат для кодирования пар ключ-значение с возможностью дублирования ключей. Каждая пара ключ-значение отделяется символом &, ключ отделён от значения символом = . В ключах и значениях пробелы заменяются на знак +, и затем, используя URL-кодирование, заменяются все не буквенно-цифровые символы.
#4
by ILNIK19
Хэш выходит в виде хх хх хх хх... и тд. Я удаляю пробелы. Может из-за этого? Но вряд ли api примет хэш с пробелами
#5
by Филиал-msk
> ...и затем, используя URL-кодирование, заменяются все не буквенно-цифровые символы И?
#7
by Филиал-msk
Мне надо чтобы ты заебался и задумался. А тебе надо готового кода и поиграться. Ок. При отправке http запроса необходимо согласовать с сервером кодировку данных. В силу того, что http поточный протокол, информация о методе кодирования данных отправляется раньше, в заголовках. Поэтому, для нормальной работы необходимо передать тело запроса в соответствующем виде. Твоя очередь. Ебись (:
#11
by Лодырь
Ну вот он и вспомнил времена старинные, когда HTTPЗапроса не было, а приходилось использовать WinHTTP.
#12
by ILNIK19
я уже с этой задачей и так время от времени занимаюсь пару недель. httpЗапрос пробовал разными вприантами. Манго возвращает ошибку аутентификации, хотя у них полность открытый доступ к api и никакой лог н и пароль не нужен. Пустой прокси прописывал. Защищенное соединение тоже пробовал. ВинРеквест работает, осталось только допилить чуток. Я правильно понимаю, что ошибка не в ключе, а в заголовке? Надосюла копать?
#13
by Филиал-msk
Меня вот больше интересует биологическая особенность, которая проявляется у всех со временем стажа, после обвешивания себя сертификатами и прочими регалиями. У людей напрочь отрубается способность читать написанное, даже то, что они написали своими руками. Пост тому явный пример.
#15
by Филиал-msk
Вот так вот пару недель на одной задаче, пару на другой - вот и 10 лет стажа. Удобно!
#16
by ILNIK19
Предлагаю не захламлять тему бесполезными постами. Никому не интересны домыслы разных "спецов", считающих себя самыми умными. Если нечего сказать по делу, то, пожалуйста, не умничайте и не отвлекайте других. Занимаюсь этой темой пару недель, потому что есть основная работа с тремя активными проектами. А данная задача является факультативом в свободное время
#17
by ILNIK19
Все знать невозможно. 1сники со стажем могут заменить и бухгалтера и кадровика и узких специалистов в разных предметных областях вместе взятых. Всегда будет что-то новое. Есть задача, есть разные пути решения. И ни одно решение не является истиной. Так что ваши потуги под...ать других людей не красят вас. Всегда найдется область в которой вы будете профаном, а другой человек обставит вас в два счета
#21
by Филиал-msk
Я, кажется, понял. При подготовке к обвешиванию сертификатами применяется подход, который намертво вшивается в подкорку - зазубрить шаблоны примеров и попытаться применить их, надеясь на удачу.В последующем, ровно такой же подход применяется специалистом и в разработке - программирование методом тыка наудачу. Чтобы отстали. Скопировать кусок руководства из интернета, ответить им на сарказм... Чтоб прочувствовали, а то ишь!Думать и читать скопированное совсем не обязательно. И даже вредно для сертифицированных специалистов.
#23
by Филиал-msk
хотя можно и показательнее. Добавь в передаваемые данные, например, знак равенства.
#25
by ILNIK19
{"name":"Unauthorized","message":"You are requesting with an invalid credential.","code":0,"status":401}
#27
by Lexey_
СтрокаЗапроса = СтрШаблон("vpbx_api_key=%1&sign=%2&json=%3", ApiKey, Sign, КодироватьСтроку(СтрокаJSON, СпособКодированияСтроки.КодировкаURL));
#28
by ILNIK19
{"name":"Unauthorized","message":"You are requesting with an invalid credential.","code":0,"status":401}
#29
by Lexey_
Мойkey и Мойsign тоже кодируй, проверил, всё работает Функция ВыполнитьЗапрос(АдресРесурса, ПараметрыЗапроса)
#31
by Филиал-msk
Вот так вот сертифицированный специалист получил ещё один фрагмент кода, не приходя в сознание. Позже он попробует применить его в изменившемся окружении, фрагмент не сработает и он вернётся к нам с тем же вопросом и топаньем ножками (:
#32
by ILNIK19
Спасибо большое за помощь. Пробую ваш код, все равно не получается Ключ = ПрисланныйКлюч; Отправляю запрос: vpbx_api_key=МойАпиКей&sign=МойСигн&json=%7B%22key%22%3A%22npBHqNSot%2B56LITtFLmXBntHtRW0UieuljXQzda%2BRcKfOkJMaj%2B70w7VDMjbK2eullwcsAlL7Oq4okP9wzN64Q%3D%3D%22%7D Ответ: {"name":"Unauthorized","message":"You are requesting with an invalid credential.","code":0,"status":401}
#35
by ILNIK19
Общаюсь с ТП Манго: Проверьте пожалуйста сейчас: Запрос такой vpbx_api_key=МойApiKey&sign=МойSign&json=%7B%22key%22%3A%22v494KPOUaKTGH8ZmV%2F3PMrD%2FDb%2FtOHqr4edKmUgI%2FNiQxyxbWWJK3JS43MKKZsZxixtUQOkVslg95rOCLjmrLQ%3D%3D%22%7D {"name":"Unauthorized","message":"You are requesting with an invalid credential.","code":0,"status":401} Ответ ТП: Вы получили {"key":"v494KPOUaKTGH8ZmV/3PMrD/Db/tOHqr4edKmUgI/NiQxyxbWWJK3JS43MKKZsZxixtUQOkVslg95rOCLjmrLQ=="} Плюс еще нуль символ в параметре перед буквой v в самом начале ?vpbx_api_key": "МойApi"
#37
by ILNIK19
Короче победил. Если используется кодировка UTF-8 при отправке запроса, то в начале контента 1с принудительно записывает BOM. Нужно это отключить: И все взлетело. Большое спасибо Lexey. Подал идею кодировки запроса в URL
#38
by Филиал-msk
> Подал идею кодировки запроса в URLПримерно 20 часов потребовалось сертифицированному специалисту, чтобы разобрать и понять собственные каракули из . Это успех! Поздравляю!
#39
by ILNIK19
Задача решена, какая разница сколько времени это заняло? Я занимаюсь этим параллельно другими задачи. Когда я сдавал сертификаты 10 лет назад, этих объектов и в помине не было. В следующий раз сделаю эту задачу за 10 минут. А ты 20 часов только троллишь и мешаешь другим. Ну продолжай в том же духе... Беспричинное унижение других людей в интернете говорит о твоих проблемах в жизни и твоих комплексах. У меня нет времени на то, чтобы ублажать твое эго! Тебе с этим жить...
#40
by oleg_km
Мда, доктор бы тебя так вылечил: кинул клич по форумам, кто-то что-то посоветовал, быстренько попробовал, ура поциент не умер.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Получить необнуляемую сумму на начало смены. Розница 2.2.5.27, ККМ Ритейл 01ф
- Метод объекта не обнаружен (Печать)
- Вопрос по конвертации. Можно ли вызвать в обработке ПослеЗагрузки функцию из общего модуля?
- Не получается добавить две колонки в номенклатуру
- Колонка" Документ оприходования"
- УФ колонка таблицы значений вида поле надписи - как добраться до событий?
- напомните как скопировать тз в другую тз
- ЗУП 3.1 Свое начисление с вводом показателей
- БП 3.0. В прошлогодних декларациях по НДС Разделы 8 и 9 стали пустыми
- SSD в Raid теория на практике
- Полная предоплата реализации в УТ 10.3
- Как получить количество набранных символов в элементе формы
- СФ на аванс в УПП
- Как программно добавить пользователю дополнительные права
- Запросы 1С. Как при "Булево = Истина" убрать условия из запроса.
- В СКД неявный параметр не работает
- ЗУП 3.1 Отчеты по управленческой зарплате.
- 1с8 максимальное количество видов субконто
- Служба сервера 1С останавливается
- Конвертация данных: очерёдность поиска по реквизитам