|   |   | 
| 
 | В результате POST запроса КодСостояния=405 | ☑ | ||
|---|---|---|---|---|
| 0
    
        SeriyP 20.04.18✎ 11:11 | 
        Комрады! Направьте в нужную сторону с POST запросом к API с авторизацией по ключу.
 Исходные данные: https://ekfgroup.com/podderzhka/download раздел "API для партнеров" APIKey = ПолученныйПоEmailКлюч; Соединение = Новый HTTPСоединение("ekfgroup.com",,,,,,Новый ЗащищенноеСоединениеOpenSSL()); Заголовки = Новый Соответствие; Заголовки.Вставить("Authorization", "Bearer "+APIKey); Заголовки.Вставить("Accept-Language", "ru"); Заголовки.Вставить("Accept-Charset", "utf-8"); Заголовки.Вставить("Content-Language", "ru"); Заголовки.Вставить("Content-Charset", "utf-8"); Заголовки.Вставить("Content-type", "application/x-www-form-urlencoded; charset=utf-8"); Запрос = Новый HTTPЗапрос("/api/1/ekf/catalog/files", Заголовки); Запрос.УстановитьТелоИзСтроки("vendorCode=mcb4763-1-01C-pro",КодировкаТекста.UTF8); Результат = Соединение.ОтправитьДляОбработки(Запрос); Соответственно, Результат.КодСостояния = 405, данные не загружаются. Как победить? | |||
| 1
    
        Lexey_ 20.04.18✎ 11:22 | 
        (0) читай, что в ответе приходит     | |||
| 2
    
        SeriyP 20.04.18✎ 11:26 | 
        (1) Результат.Заголовки
 Ключ Значение "Transfer-Encoding" "chunked" "date" "Fri, 20 Apr 2018 11:23:42 GMT" "allow" "GET, HEAD" "Content-Type" "text/html; charset=UTF-8" "Connection" "keep-alive" "Cache-Control" "no-cache, private" "X-Powered-By" "PHP/7.1.14" "Server" "nginx/1.12.2" В Результат.ПолучитьТелоКакСтроку() - html код. Вкратце: "Whoops, looks like something went wrong". | |||
| 3
    
        SeriyP 20.04.18✎ 11:54 | 
        Идеи?     | |||
| 4
    
        SeriyP 20.04.18✎ 14:39 | 
        up     | |||
| 5
    
        drei 20.04.18✎ 15:39 | 
        (2) > "allow"    "GET, HEAD"     | |||
| 6
    
        SeriyP 20.04.18✎ 15:43 | 
        (5) 405: Method Not Allowed
 Выполнение метода, определенного в запросе, не разрешено для ресурса, идентифицированного конкретным адресом. Ответ должен содержать Allow заголовок, со списком разрешенных методов для запрашиваемого ресурса. Не к тому ресурсу обращаюсь раз поддерживается только GET, HEAD? | |||
| 7
    
        drei 20.04.18✎ 15:53 | 
        (6) Прально. Урл должен включать параметры.     | |||
| 8
    
        SeriyP 20.04.18✎ 16:09 | 
        (7) Делаю 
 Запрос = Новый HTTPЗапрос("/api/1/ekf/catalog/files? vendorCode=mcb4763-1-01C-pro", Заголовки) Результат тот же. что должно быть в теле запроса? | |||
| 9
    
        Lexey_ 20.04.18✎ 16:16 | 
        (8)  Соединение.ОтправитьДляОбработки() или  Соединение.Получить() ?     | |||
| 10
    
        SeriyP 20.04.18✎ 17:28 | 
        (9) Соединение.ОтправитьДляОбработки()     | |||
| 11
    
        Lexey_ 20.04.18✎ 20:46 | 
        (10) get это Получить()     | |||
| 12
    
        Широкий 20.04.18✎ 21:29 | 
        Там же ясно написано - через параметры ты должен передавать
 Вот и пример есть: URL: https://ekfgroup.com/api/1/ekf/catalog/files?id=0001cc0d-efa2-11e6-bd2e-000c29c6d5f2 | |||
| 13
    
        SeriyP 23.04.18✎ 08:48 | 
        (12) А что в запросе-то писать?     | |||
| 14
    
        Широкий 23.04.18✎ 09:13 | 
        Запрос = Новый HTTPЗапрос("/api/1/ekf/catalog/files?vendorCode=mcb4763-1-01C-pro", Заголовки);
 Результат = Соединение.ОтправитьДляОбработки(Запрос); Что то типа этого | |||
| 15
    
        zva 23.04.18✎ 09:17 | 
        (13) Запрос.УстановитьТелоИзСтроки("", КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
 Я бы еще попробовал APIKey в кавычках послать, а то из их документации не ясно: •API-KEY должен быть указан в HEADER каждого запроса в атрибуте Authorization. Запись вида: Bearer "ваш API-KEY". Заголовки.Вставить("Authorization", "Bearer "+""""+APIKey+""""); А лучше Postman поставить пробовать вызвать какой-нить метод | |||
| 16
    
        Широкий 23.04.18✎ 09:18 | 
        (15) Он уже передает     | |||
| 17
    
        SeriyP 23.04.18✎ 09:25 | 
        (14) (15) Попробовал - результат тот же.
 Соединение = Новый HTTPСоединение("ekfgroup.com",,,,,,Новый ЗащищенноеСоединениеOpenSSL()); Заголовки = Новый Соответствие; Заголовки.Вставить("Authorization", "Bearer "+""""+APIKey+""""); Запрос = Новый HTTPЗапрос("/api/1/ekf/catalog/files?vendorCode=mcb4763-1-01C-pro", Заголовки); Запрос.УстановитьТелоИзСтроки("", КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); Результат = Соединение.ОтправитьДляОбработки(Запрос); | |||
| 18
    
        Lexey_ 23.04.18✎ 09:48 | 
        (17) см (11)     | |||
| 19
    
        SeriyP 23.04.18✎ 09:53 | 
        (18) Поясните подробнее? На запрос типа GET возвращается ошибка 404. И разработчик пишет именно про POST     | |||
| 20
    
        SeriyP 23.04.18✎ 09:55 | 
        (15) Попробовал через Postman поотправлять запросы. Результат тот же - ошибка 405.     | |||
| 21
    
        zva 23.04.18✎ 10:01 | 
        а если Заголовки.Вставить("Content-Type", "application/json");
 вообще, лучше разработчику написать | |||
| 22
    
        Широкий 23.04.18✎ 10:06 | 
        Пиши разрабам. Выплевывает HTML - значит в документации что то не клеится     | |||
| 23
    
        SeriyP 23.04.18✎ 10:17 | 
        (22) мда, видать действительно что-то не стыкуется. Буду пробовать с разработчиком общаться.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |