Buenos días compañeros.
Tengo un problemilla con una llamada API. El caso es que tengo un código que funciona, pero... sólo la primera vez!
Si ejecuto de nuevo el mismo código me da el error 'HTTP/1.1 400 Bad Request'
Este es el código. A ver si podeis echarme una mano:
Código Delphi
[-]
procedure TFinici.GetProjects();
var S: TStringList;
obj:TlkJSONbase;
vLevel:Integer;
Json: string;
JsonToSend: TStringStream;
SResposta: String;
begin
S := TStringList.Create;
try
HTTP1.Request.ContentType := 'application/json';
HTTP1.Request.BasicAuthentication:= false;
HTTP1.Request.CustomHeaders.FoldLines := False;
HTTP1.Request.CustomHeaders.Add('Authorization:Bearer '+ tok1+ tok2+ tok3+ tok4); HTTP1.Request.CharSet := 'utf-8';
Json:= '{'
+ ' "companyId":"xxxxxxxxxxx"'
+ '}';
JsonToSend := TStringStream.Create(Json, TEncoding.UTF8);
try
sResposta := HTTP1.Post('https://api.sesametime.com/v2/project/getprojectsbycompany', JsonToSend);
except
on E: Exception do
ShowMessage('Error on request: '#13#10 + e.Message);
end;
Memo2.Clear;
Memo2.Text:= Sresposta;
obj := TlkJSONbase.Create();
try
vLevel := 0;
obj := TlkJSON.ParseText(sResposta);
MrespOKnoms.Lines.Text := GenerateReadableText(obj, vLevel);
Application.ProcessMessages;
finally
FreeAndNil(obj);
end;
finally
S.Free;
JsonToSend.Free;
end;
end;
El componente usado es TidHTTP con un Handler IdSSLIOHandlerSocketOpenSSL, correndo en Delphi 10.3
Muchas gracias de antemano
