Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] html конвертнуть в json и передать по api (http://forum.oszone.net/showthread.php?t=352203)

Njem 24-10-2022 17:46 2994851

html конвертнуть в json и передать по api
 
Всем привет!

Уже весь инет перерыл, но инфы так и не нашёл...

В общем, суть задачи проста: нужно написать скрипт, который будет через API создавать тикеты в тикетке. Всё в целом легко и просто, однако в ключе текст нужно подставить значение html файла.
По всякому пытался конвертнуть этот html в json, однако это всё криво преобразовывается, либо где-то символы дополнительные вылезают
HTML код:

["",""," ","","","
, либо вот такие
HTML код:

"\r\n\r\n \r\n\r\n\r\n
Я, примерно, понимаю что к джейсону изначальному нужно как-то добавить добавить джейсон, который как-то надо конвертировать из html, но вот как это всё провернуть я прям ваще не знаю...(
Везде в инете пишут про конвертацию из json в html, а вот в обратную сторону... Возможно есть какой-то обходной путь?

Полноценный код чисто на создание выглядит так:
Код:

### ТОКЕН ДОСТУПА ДЛЯ API
$ACCESS_TOKEN = "CODE"

### БАЗОВЫЙ URL ДЛЯ API
$HF_ENDPOINT = "URL"

# КОДИРОВАНИЕ И СОЗДАНИЕ КОДА АВТОРИЗАЦИЙ
$EncodedACCESS_TOKEN = [System.Text.Encoding]::UTF8.GetBytes($ACCESS_TOKEN)
$AuthorizationInfo = [System.Convert]::ToBase64String($EncodedACCESS_TOKEN)

### ЗАГОЛОВОК АВТОРИЗАЦИИ
$HEADERS = @{}
$HEADERS.Add("Authorization", "Basic $AuthorizationInfo")

$HTML_BODY =  Get-Content -Path "D:\Script\BoardMaps\Automatic email\TestEmail.html" | ConvertTo-Json

### СОЗДАНИЕ ТИКЕТА
$Body = @{

    name = "name";
   
    email = "name@example.ru";
   
    category = 6;
   
    subject = "test subject";
   
    text = $HTML_BODY;
   
    }

### ПРЕОБРАЗУЕМ В JSON И ПРИВЕДЕМ К БАЙТОВОМУ МАССИВУ
$Create_Ticket = [System.Text.Encoding]::UTF8.GetBytes(($Body | ConvertTo-Json -Depth 5))

### СОЗДАЁМ ТИКЕТ
$JSON_RESPONSE = Invoke-RestMethod -Method Post -Uri "$HF_ENDPOINT/api/1.1/json/tickets/" -Headers $HEADERS -Body $Create_Ticket -ContentType "application/json"

Подскажите, пожалуйста, как этот дуратский html передать по api

DJ Mogarych 25-10-2022 10:36 2994891

А хелпдеск не умеет принимать заявки по почте, обязательно через API надо?

Njem 25-10-2022 17:29 2994933

Цитата:

Цитата DJ Mogarych
А хелпдеск не умеет принимать заявки по почте, обязательно через API надо? »

смысл в создании рассылки, которая будет создавать новый и новый тикет на каждое письмо отправленное на почту с использованием HTML шаблона текста

Serguei Kouzmine 26-10-2022 03:51 2994962

Код:

$HTML_BODY =  Get-Content -Path "D:\Script\BoardMaps\Automatic email\TestEmail.html" | ConvertTo-Json

этот дуратский html -- общего решения не существует

разбирайтесь с текстом "TestEmail.html" что в нем покажите
придется нужное индивидуально вытаскивать


Время: 12:06.

Время: 12:06.
© OSzone.net 2001-