Подскажите, вот есть запрос: 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 ответов

6 просмотров

Думаю, причина в том, что ты посылаешь 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 для запроса

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

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

Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
1
так это может кто что знает или использует что-то как макбук только не макбук? на 13…14 дюймов
Michael
9
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Так а кто может спарсить всех участников чата? Идишники
Magic
18
ну а openocd его определяет как какой?
Andrey Zgarbul
6
да пофиг на капчу зашел в чат и молчишь при этом ты нонейм? пошел вон
Magic
17
Всем привет) Я попробовал турбо роутер октябрьский. Вроде доволен, но возникла проблемка) Бутстраповские модалки плодят .modal-backdrop элементы Если модалка открыта, должне...
Виталий
3
кто что использовал парсить ексель ? неохота гуглить и пробовать 🙃
Oleh Nerzh
7
у меня вопрос, а айМайк отец пятерых детей или отец пятого свифта?
Karl {🌪️}{🐊} Shinobi
5
Гайз, а как отправлять с вейпора пуши на андроид? ) Меня вот осенило )))
Serg
11
Карта сайта