Подскажите, вот есть запрос: POST /auth/o2/create/codepair HTTP/1.1 Host: api.amazon.com Content-Type: application/x-www-form-urlencoded response_type=device_code&client_id=amzn1.application-oa2-client.5e0256cabe&scope=profile Вот код: FHttpModule* Module

= &FHttpModule::Get();
const auto Request = Module->CreateRequest();
Request->OnProcessRequestComplete().BindUObject(this, &ThisClass::OnPostReceivedAuthorization);
Request->SetURL("https://api.amazon.com/auth/o2/create/codepair?response_type=device_code&client_id=amzn1.application-oa2-client.5e0256cabe");
Request->SetVerb("POST");
Request->SetHeader("Host","api.amazon.com");
Request->SetHeader("Content-Type","application/x-www-form-urlencoded");
Request->ProcessRequest();

В чём ошибка и почему в респонсе я получаю error: missing parameter: client_id?

7 ответов

20 просмотров

Думаю, причина в том, что ты посылаешь POST, а параметры почему-то закодировал в URL

Arthur-Novikov Автор вопроса
Anton Rassadin
Думаю, причина в том, что ты посылаешь POST, а пар...

Вот я и думаю, их надо совать в контент что ли...

Arthur Novikov
Вот я и думаю, их надо совать в контент что ли...

Если тебе нужно отправить это как POST, то да

Arthur-Novikov Автор вопроса
Anton Rassadin
Если тебе нужно отправить это как POST, то да

Допустим, если хэдер Host: api.amazon.com Мы задаём командой: Request->SetHeader("Host","api.amazon.com"); То для вот этой части: response_type=device_code&client_id=amzn1.application-oa2-client.5e0256cabe&scope=profile Надо писать так? Request->SetContentAsString(" { "response_type": "device_code", "client_id": "amzn1.application-oa2-client.5e0256cabe" } "); Так тоже пробовал, всё равно он на client_id ругался. И непонятно, куда засовывать /auth/o2/create/codepair из первой строки: POST /auth/o2/create/codepair HTTP/1.1

Arthur Novikov
Допустим, если хэдер Host: api.amazon.com Мы зада...

Скорее я бы ожидал примерно так: Request->SetContentAsString(TEXT("response_type=device_code&client_id=amzn1.application-oa2-client.5e0256cabe"));

Arthur-Novikov Автор вопроса
Anton Rassadin
Скорее я бы ожидал примерно так: Request->SetConte...

Спасибо, уже лучше, на client_id ругаться перестал, теперь ругается, на scope. Но я не понял, как прописать его в параметр контента: client_id=amzn1.12345&scope=profile Если он имеет вот такой вид: profile: { "username": "name", "password": "12345", "user_id": "XXXXX" }

Arthur Novikov
Спасибо, уже лучше, на client_id ругаться перестал...

Если ты хочешь засылать параметры в виде JSON, тебе нужно указать соответствующий Content-Type и засетить сериализованный в строку JSON в Content для запроса

Похожие вопросы

Обсуждают сегодня

Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
Карта сайта