![]() |
|
В результате 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) мда, видать действительно что-то не стыкуется. Буду пробовать с разработчиком общаться.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |