Invalid value type 'string' при подключении по API
Пытаюсь подключиться по API, но выдает ошибку {"httpCode":"400","httpMessage":"Bad Request","moreInformation":"[JSV0001] Invalid value type 'string'."}
Что может не являться строкой и из-за чего может выдавать такую ошибку?
АдресСервера = "dev.api.sberbank.ru";
АдресРесурса = "/ru/prod/tokens/v2/oauth";
Соединение = Новый HTTPСоединение(АдресСервера, 443, , , , 30, Новый ЗащищенноеСоединениеOpenSSL);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Accept", "application/json");
Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
Заголовки.Вставить("Authorization", "Basic ....................................................");
Заголовки.Вставить("RqUID", "e9FAE9fcee76276Ffdeb11b8A4Dde85e");
Заголовки.Вставить("x-ibm-client-id", "........................");
ДанныеТелаСтрокой = "grant_type=client_credentials&scope=https://api.sberbank.ru/rating/partner/legal";
Запрос = Новый HTTPЗапрос(АдресРесурса, Заголовки);
Запрос.УстановитьТелоИзСтроки(ДанныеТелаСтрокой);
ОтветСервера = Соединение.ОтправитьДляОбработки(Запрос);
Тело = ОтветСервера.ПолучитьТелоКакСтроку();
//Сообщить(ОтветСервера.КодСостояния);
Сообщить(Тело);
Соединение = Неопределено;
ПоказатьЧто может не являться строкой и из-за чего может выдавать такую ошибку?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Вот тут после Basic что? Должно быть:
Необходимо в поле указать слово "Basic" и через пробел передать закодированные в BASE64 значения client id и client secret разделенные двоеточием (Basic client id:client secret).
Есть оба значения разделенные двоеточием?
Заголовки.Вставить("Authorization", "Basic ....................................................");
Вот тут после Basic что? Должно быть:
Необходимо в поле указать слово "Basic" и через пробел передать закодированные в BASE64 значения client id и client secret разделенные двоеточием (Basic client id:client secret).
Есть оба значения разделенные двоеточием?
(4)Если так сделать и зашифровать в base64,выдает ошибку {"httpCode":"401","httpMessage":"Unauthorized","moreInformation":"Mismatch client ID: Authorization != X-Ibm-Client-ID"}
, а если не шифровать, выдает ошибку как в теме: {"httpCode":"400","httpMessage":"Bad Request","moreInformation":"[JSV0001] Invalid value type 'string'."}
, а если не шифровать, выдает ошибку как в теме: {"httpCode":"400","httpMessage":"Bad Request","moreInformation":"[JSV0001] Invalid value type 'string'."}
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот