Подскажите как средствами 1С получить IAM-токен для аккаунта на Яндексе, если есть OAuth-токен ?

https://cloud.yandex.ru/docs/iam/operations/iam-token/create

Пытаюсь сделать так:

```1c
    АдресСервера = "iam.api.cloud.yandex.net";

    yandexPassportOauthToken = "ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ";
    ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows( СпособВыбораСертификатаWindows.Выбирать), Новый СертификатыУдостоверяющихЦентровWindows());

    //Соединение = Новый HTTPСоединение(АдресСервера,,,,,,ssl);
    Соединение = Новый HTTPСоединение(АдресСервера,443,,,,0,ssl);
    Заголовки = Новый Соответствие;
    //Заголовки.Вставить("yandexPassportOauthToken", yandexPassportOauthToken);
    Заголовки.Вставить("Content-Type", "application/json"); //* "Transfer-Encoding: chunked"
    Заголовки.Вставить("ExpandProperty", "iamToken");

    ТелоЗапроса = Новый Структура;
    ТелоЗапроса.Вставить("yandexPassportOauthToken", yandexPassportOauthToken);

    Запрос = Новый HTTPЗапрос("iam/v1/tokens", Заголовки);
    Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, КодировкаТекста.Системная);//Системная);

    Ответ = Соединение.ОтправитьДляОбработки(Запрос);
    Сообщить("Нам вернули код " + Ответ.КодСостояния);
    Сообщить(Ответ.ПолучитьТелоКакСтроку());
```

Выводит ошибку 400
---
Вот так сработало

```1c
    АдресСервера = "iam.api.cloud.yandex.net";
    yandexPassportOauthToken = "ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ";
    ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows( СпособВыбораСертификатаWindows.Выбирать), Новый СертификатыУдостоверяющихЦентровWindows());

    Соединение = Новый HTTPСоединение(АдресСервера,443,,,,20,ssl,Неопределено);
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type", "application/json");

    Запрос = Новый HTTPЗапрос("/iam/v1/tokens",Заголовки);
    СтрокаТела = "{"yandexPassportOauthToken": "" + yandexPassportOauthToken + ""}";
    Запрос.УстановитьТелоИзСтроки(СтрокаТела,КодировкаТекста.UTF8);

    Ответ = Соединение.ОтправитьДляОбработки(Запрос);
    Сообщить("Нам вернули код " + Ответ.КодСостояния);
    Сообщить(Ответ.ПолучитьТелоКакСтроку());

    СтрокаОтвет = Ответ.ПолучитьТелоКакСтроку();

    Чтение = Новый ЧтениеJSON;
    Чтение.УстановитьСтроку(СтрокаОтвет);
    СтруктураОтвета = ПрочитатьJSON(Чтение);
    iamToken = СтруктураОтвета.iamToken;
```
---
Посмотрите статью https://infostart.ru/public/1113219/
Может найдете решение своего вопроса.
---
Посмотрите статью https://infostart.ru/public/1113219/
Может найдете решение своего вопроса.
---
Смотри статью https://infostart.ru/public/1113219/

```1c
    СоединениеЯндекс = Новый HTTPСоединение("iam.api.cloud.yandex.net", 443, , , , 20, Новый ЗащищенноеСоединениеOpenSSL(), Неопределено);
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type","application/json");
    Запрос = Новый HTTPЗапрос("/iam/v1/tokens",Заголовки);
    СтрокаТела = "{"yandexPassportOauthToken": "" + Константы.OAUTHТокен.Получить() + ""}";
    Запрос.УстановитьТелоИзСтроки(СтрокаТела,КодировкаТекста.UTF8);

    Ответ = СоединениеЯндекс.ОтправитьДляОбработки(Запрос);
    СтрокаОтвет = Ответ.ПолучитьТелоКакСтроку();
    Чтение = Новый ЧтениеJSON;
    Чтение.УстановитьСтроку(СтрокаОтвет);
    СтруктураОтвета = ПрочитатьJSON(Чтение);

    Константы.IAMТокенЯндекс.Установить(СтруктураОтвета.iamToken);
```
---
Получение IAM-токена с помощью PowerShell:

$yandexPassportOauthToken = "<OAuth-Token>"
$Body = @{ yandexPassportOauthToken = "$yandexPassportOauthToken" } | ConvertTo-Json -Compress
Invoke-RestMethod -Method 'POST' -Uri 'https://iam.api.cloud.yandex.net/iam/v1/tokens' -Body $Body -ContentType 'Application/json' | Select-Object -ExpandProperty iamToken

Как это переделать на 1С?
---
Тело нужно писать строкой, потому что структура или соответствие переводит тело запроса в нечитабельный для яндекса формат.
---
Вот так сработало

```1c
    АдресСервера = "iam.api.cloud.yandex.net";
    yandexPassportOauthToken = "ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ";
    ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows( СпособВыбораСертификатаWindows.Выбирать), Новый СертификатыУдостоверяющихЦентровWindows());

    Соединение = Новый HTTPСоединение(АдресСервера,443,,,,20,ssl,Неопределено);
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type", "application/json");

    Запрос = Новый HTTPЗапрос("/iam/v1/tokens",Заголовки);
    СтрокаТела = "{"yandexPassportOauthToken": "" + yandexPassportOauthToken + ""}";
    Запрос.УстановитьТелоИзСтроки(СтрокаТела,КодировкаТекста.UTF8);

    Ответ = Соединение.ОтправитьДляОбработки(Запрос);
    Сообщить("Нам вернули код " + Ответ.КодСостояния);
    Сообщить(Ответ.ПолучитьТелоКакСтроку());

    СтрокаОтвет = Ответ.ПолучитьТелоКакСтроку();

    Чтение = Новый ЧтениеJSON;
    Чтение.УстановитьСтроку(СтрокаОтвет);
    СтруктураОтвета = ПрочитатьJSON(Чтение);
    iamToken = СтруктураОтвета.iamToken;
```