Вверх ↑
Этот топик читают: Гость
Ответов: 171
Рейтинг: 5
#1: 2025-05-30 00:12:27 ЛС | профиль | цитата
Подскажите что не так делаю

Вот ответ сервера
{
"error": {
"message": "Invalid body: failed to parse JSON value. Please check the value to ensure it is valid JSON. (Common errors include trailing commas, missing closing brackets, missing quotation marks, etc.)",
"type": "invalid_request_error",
"param": null,
"code": "invalid_json"
}
}




Вот сама схема
Add(Button,12479344,161,231)
{
Left=10
Top=185
Width=140
Height=25
Caption="Выполнить"
link(onClick,5102370:doEvent1,[])
}
Add(Memo,2568247,490,210)
{
Left=10
Top=225
Width=360
Height=240
ScrollBars=3
}
Add(Message,363691,350,259)
{
Caption="Ошибка запроса"
Icon=1
}
Add(DoData,7347341,350,210)
{
link(onEventData,9377522:doEvent1,[])
link(Data,2427935:getVar,[])
}
Add(Hub,9377522,406,210)
{
InCount=2
link(onEvent1,2568247:doAdd,[])
}
Add(Hub,5102370,203,231)
{
OutCount=3
link(onEvent1,8936422:doWork,[])
link(onEvent2,6023390:doLoadString,[])
}
Add(LineBreakEx,8936422,231,231)
{
Caption="clear"
}
Add(LineBreakEx,2111794,434,217)
{
Caption="clear"
Type=1
link(OnEvent,2568247:doClear,[])
}
Add(LineBreakEx,2427935,350,182)
{
Caption="head"
Type=2
}
Add(LineBreakEx,15402714,301,280)
{
Caption="head"
Type=3
link(_Data,6023390:RawHeaders,[])
}
Add(Edit,4213360,287,91)
{
Left=10
Top=30
Width=360
Text="https://api.openai.com/v1/responses"
}
Add(HTTPClient,6023390,287,238)
{
Method=1
EncType=2
Point(RawHeaders)
Point(Headers)
Point(PostData)
link(URL,4213360:Text,[])
link(onHeadersAvail,7347341:doData,[(336,244)(336,216)])
link(onFinish,9377522:doEvent2,[(400,251)(400,223)])
link(onError,363691:doMessage,[])
link(Headers,6230264:Text,[])
link(PostData,4404019:Text,[])
AddHint(-73,52,44,13,Method)
AddHint(-73,73,45,13,FieldCharset)
}
Add(Memo,4404019,308,175)
{
Left=210
Top=80
Width=160
Height=90
Strings=#1:{|17:model: "gpt-4.1",|60:input: "Write a one-sentence bedtime story about a unicorn."|1:}|0:|
ScrollBars=3
}
Add(Memo,6230264,301,133)
{
Left=10
Top=80
Width=160
Height=90
Strings=#30:Content-Type: application/json|37:Authorization: Bearer $OPENAI_API_KEY|
ScrollBars=3
}


Редактировалось 2 раз(а), последний 2025-05-30 00:14:17
карма: 1
Мастер сам устанавливает закон
0
Ответов: 1129
Рейтинг: 80
#2: 2025-05-30 07:15:12 ЛС | профиль | цитата
Обычно на подобные вопросы затруднительно дать точный ответ. Поскольку большинство вопросов связаны с ресурсами с ограниченным доступом(личные рабочие сервера, ресурсы требующие регистрации или платной подписки и т.д.)

У вас есть подсказка
Noor писал(а):
"Invalid body: failed to parse JSON value.

Некорректное тело запроса. Не удалось извлечь значение. (примерно так)

Возможно ключи json также должны обрамляться кавычками, возможно сам элемент съедает какой-то символ и необходимо дополнительное экранирование. Вплоть до ошибок в самом элементе.
Все что можно посоветовать - сниффером смотреть какие данные и в каком виде отправляются.
карма: 2

0
Ответов: 897
Рейтинг: 190
#3: 2025-05-30 07:56:09 ЛС | профиль | цитата
У меня так вообще страна заблокирована на этом api
Вот ответ что получаю я
{
"error": {
"code": "unsupported_country_region_territory",
"message": "Country, region, or territory not supported",
"param": null,
"type": "request_forbidden"
}
}

Редактировалось 1 раз(а), последний 2025-05-30 07:56:27
карма: 18

0
Ответов: 171
Рейтинг: 5
#4: 2025-05-30 10:05:23 ЛС | профиль | цитата
Я разобрался. Заголовки не любят лишних переводов строки. А у меня один лишний был в конце. Заработало. Но вот почему то не принимает русские буквы, только на английском запрос делать. Осталось разобраться как переводить и считай есть искуственный интелект в проге.



Редактировалось 1 раз(а), последний 2025-05-30 10:11:05
карма: 1
Мастер сам устанавливает закон
0
Ответов: 1129
Рейтинг: 80
#5: 2025-05-30 19:47:23 ЛС | профиль | цитата
Noor писал(а):
не принимает русские буквы, только на английском


API хорошо, удобно, но стандарты HTTP никто не отменял.
А если поиграться с "Content-Type: application/json;charset= ... "(windows-1251 как вариант), а может и еще что связанное найдется.
Конкретики не скажу, http запросы -адцать лет не составлял, а все что знал давно забыл
карма: 2

0
Ответов: 171
Рейтинг: 5
#6: 2025-05-31 17:35:12 ЛС | профиль | цитата
Все. Работает. Вставляете свой ключ и вперед общаца.



Add(Message,363691,350,259)
{
Caption="Ошибка запроса"
Icon=1
}
Add(DoData,7347341,350,210)
{
link(onEventData,9377522:doEvent1,[])
link(Data,2427935:getVar,[])
}
Add(Hub,9377522,406,210)
{
InCount=2
OutCount=3
link(onEvent2,7066907:doSearch,[])
}
Add(Hub,5102370,203,231)
{
OutCount=3
link(onEvent1,8936422:doWork,[])
link(onEvent2,2408954:doCharset,[(238,244)(238,181)])
link(onEvent3,6023390:doLoadString,[(252,251)(252,244)])
}
Add(LineBreakEx,8936422,231,231)
{
Caption="clear"
}
Add(LineBreakEx,2111794,532,259)
{
Caption="clear"
Type=1
link(OnEvent,1976429:doClear,[(581,265)(581,230)])
}
Add(LineBreakEx,2427935,350,182)
{
Caption="head"
Type=2
}
Add(LineBreakEx,15402714,301,280)
{
Caption="head"
Type=3
link(_Data,6023390:RawHeaders,[])
}
Add(HTTPClient,6023390,287,238)
{
URL="https://api.openai.com/v1/chat/completions"
Method=1
Headers="Content-Type: application/json;charset=utf8\r\nAuthorization: Bearer $OPENAI_API_KEY"
EncType=2
FieldCharset=1
RespCharset=1
Point(RawHeaders)
Point(Headers)
Point(PostData)
link(onHeadersAvail,7347341:doData,[(336,244)(336,216)])
link(onFinish,9377522:doEvent2,[(394,251)(394,223)])
link(onDownloadProgress,13015807:doText,[(331,258)(331,286)(275,286)(275,314)])
link(onError,363691:doMessage,[])
link(PostData,7332005:FString,[])
AddHint(-73,52,44,13,Method)
AddHint(-73,73,40,13,FieldCharset)
}
Add(FormatStr,7332005,308,175)
{
DataCount=1
Mask="{\r\n "model": "gpt-4.1",\r\n "messages": [\r\n {\r\n "role": "assistant",\r\n "content": "%1"\r\n }\r\n ]\r\n }"
Point(FString)
}
Add(Edit,14337874,252,119)
{
Left=15
Top=25
Width=355
Height=30
Font=[MS Sans Serif,12,0,0,1]
Text="Привет"
}
Add(BlockFind,7066907,448,217)
{
IncludeBlock=1
StartBlock=""content": ""
EndBlock=""refusal""
link(onSearch,12660547:doValue,[])
}
Add(RichEdit,1976429,588,217)
{
Left=5
Top=85
Width=365
Height=375
Font=[MS Sans Serif,12,0,0,1]
ScrollBars=2
}
Add(Label,13015807,287,308)
{
Left=295
Top=60
Width=19
Height=19
Caption=""
link(Text,6023390:Status,[])
}
Add(Charset,2408954,252,175)
{
Type=6
link(onCharset,7332005:doString,[])
link(Text,14337874:Text,[])
}
Add(Button,9096941,161,231)
{
Left=15
Top=55
Width=100
Caption="Послать"
link(onClick,5102370:doEvent1,[])
}
Add(Memory,12660547,490,217)
{
link(onData,10331330:doReplace,[])
}
Add(Replace,10331330,539,217)
{
SubStr="","
link(onReplace,1976429:doAdd,[])
}


Редактировалось 3 раз(а), последний 2025-05-31 17:50:20
карма: 1
Мастер сам устанавливает закон
0
Ответов: 171
Рейтинг: 5
#7: 2025-06-01 11:09:16 ЛС | профиль | цитата
Это че в BlockFind ошибка в компоненте? Чего это он покурочил код тут?
карма: 1
Мастер сам устанавливает закон
0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)