Ver Mensaje Individual
  #1  
Antiguo 26-08-2022
andresenlared andresenlared is offline
Miembro
 
Registrado: oct 2003
Posts: 153
Reputación: 22
andresenlared Va por buen camino
Error al invocar API REST

Saludos.

Estoy conociendo los componentes REST de delphi, y quiero implementar un desarrollo para enviar unos datos a un API REST.

Les comento que quiero hacer inicialmente.

Tengo que obtener un token de un API Rest. En postman cargo los parametros del header y el body, y funciona sin problema,

En delphi, entre a la herramienta RestDebugger y agrego los mismo parametros, indicando cuales para el header y cuales para el body, y no corrio.

En código fuente tengo lo siguiente.

Código Delphi [-]
  RESTClient := TRESTClient.Create(nil);
  RESTRequest := TRESTRequest.Create(nil);
  RESTResponse := TRESTResponse.Create(nil);
  RESTRequest.Client := RESTClient;
  RESTRequest.Response := RESTResponse;
  RESTRequest.Method := TRESTRequestMethod.rmPOST;

  RESTRequest.Params.AddItem('Authorization', 'Bearer ZWQxUExRa2lsOXVRMVVWT1MzbElEb2ZJVm1RYTpHd3AxYjFMZEE0SzVxbGZ4bHNWRVpkRDQ0ZWNh', pkHTTPHEADER, [poDoNotEncode]);
  RESTRequest.Params.AddItem('Content-Type', 'application-x-www-form-urlencoded', pkHTTPHEADER, [poDoNotEncode]);
  RESTRequest.Params.AddItem('grant_type', 'password', pkREQUESTBODY, [poDoNotEncode]);
  RESTRequest.Params.AddItem('username', 'userprestador', pkREQUESTBODY, [poDoNotEncode]);
  RESTRequest.Params.AddItem('password', 'gocUZVNAVN5kToPjPM2f', pkREQUESTBODY, [poDoNotEncode]);

  RESTClient.BaseURL := 'https://papi.colsanitas.com/token';

  RESTRequest.Execute;

  memo1.Lines.Text:= RestResponse.Content;

y se genera el error

{
"error_description": "Missing grant_type parameter value",
"error": "invalid_request"
}

No se si con otros componentes como en Indy se pueda hacer este tipo de parametrización.

Les agradezco su ayuda, ya que tengo muy encima este desarrollo.
__________________
Popayán-Colombia
Responder Con Cita