Команда curl выполнить в 1с

1. Aparatus 17 11.09.20 17:00 Сейчас в теме
Всем привет. Звучал уже подобный вопрос на форуме, но остался без должного внимания. Давайте снова его поднимем на тот случай, чтобы помочь тем, кто с этим может столкнуться.

Есть некий api, через который надо получать информацию, к примеру, по товарам, заказам, можно так же её туда и класть, суть не в этом.
Чтобы работать с этим сервисом, нужно выполнить запрос curl, т. е. авторизацию проходить нужно по OAuth 2.0

curl -xpost -u "ИД_интеграции:СекретИнтеграции" -d "grant_type=client_credentials&scope=admin" https://некийУрл.net/oauth/token

Выполнив этот запрос мне прилетит временный токен, и я могу спокойно пользоваться api.
Собственно вопрос, помогите, плез, разобраться, как это организовать в 1С.
По теме из базы знаний
Найденные решения
4. malikov_pro 1314 11.09.20 18:11 Сейчас в теме
(1)
curl -xpost -u "ИД_интеграции:СекретИнтеграции" -d "grant_type=client_credentials&scope=admin" https://некийУрл.net/oauth/token


равносилен
Соединение = Новый HTTPСоединение("некийУрл.net",443, "ИД_интеграции", "СекретИнтеграции",,, Новый ЗащищенноеСоединениеOpenSSL());
	Запрос = Новый HTTPЗапрос("/oauth/token");
	Запрос.УстановитьТелоИзСтроки("grant_type=client_credentials&scope=admin");
	Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);


Не хватает заголовка, по формату похоже на "application/x-www-form-urlencoded"
Если да, то нужно добавить
Запрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded")
websamson; Screabes; God_loki; cassper; +4 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. DJDUH 17 11.09.20 17:53 Сейчас в теме
(1)
OAuth 2.0

А так пробовали?
Новый HTTPСоединение("***/oauth/token",)
4. malikov_pro 1314 11.09.20 18:11 Сейчас в теме
(1)
curl -xpost -u "ИД_интеграции:СекретИнтеграции" -d "grant_type=client_credentials&scope=admin" https://некийУрл.net/oauth/token


равносилен
Соединение = Новый HTTPСоединение("некийУрл.net",443, "ИД_интеграции", "СекретИнтеграции",,, Новый ЗащищенноеСоединениеOpenSSL());
	Запрос = Новый HTTPЗапрос("/oauth/token");
	Запрос.УстановитьТелоИзСтроки("grant_type=client_credentials&scope=admin");
	Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);


Не хватает заголовка, по формату похоже на "application/x-www-form-urlencoded"
Если да, то нужно добавить
Запрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded")
websamson; Screabes; God_loki; cassper; +4 Ответить
5. koln 11.09.20 18:25 Сейчас в теме
(4)А разве строка вида
"grant_type=client_credentials&scope=admin"
передается в теле запроса, а не добавляется в строку URL? Может быть без тела запроса строка соединения просто будет вида "https://некийУрл.net/oauth/token?grant_type=client_credentials&scope=admin"
6. malikov_pro 1314 11.09.20 19:05 Сейчас в теме
7. Aparatus 17 11.09.20 19:31 Сейчас в теме
(4)
Запрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded")

(4) Дружище, большое вам спасибо за участие и помощь в разборе этого вопроса.
С вашей помощью, вот что у меня в итоге вышло, надеюсь, кому-то будет в помощь, если возникнет такая задача.

Соединение = Новый HTTPСоединение("некийУрл.net",443, ИДИнтеграции, СекретИнтеграции,,, Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/oauth/token");
Запрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
Запрос.УстановитьТелоИзСтроки("grant_type=client_credentials&scope=admin");
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();

Всем спасибо. И благодарность.
ViteG; request4t; cassper; +3 Ответить
8. websamson 307 22.02.24 07:07 Сейчас в теме
(4)
Соединение = Новый HTTPСоединение("некийУрл.net"

"некийУрл.net" пишем БЕЗ "https:\\"
2. VictorRGB2 14 11.09.20 17:50 Сейчас в теме
а в каком виде запрос отсылается?
в смысле тело запроса, где и будет все это описано
json, xml, txt?
9. websamson 307 22.02.24 08:37 Сейчас в теме
(2) это описывается в заголовке в теге Content-Type
Например, для json это будет
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот