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.