Cita:
Empezado por Casimiro Notevi
No se ve en el código que has puesto
|
---------------------------
Debugger Exception Notification
---------------------------
Project ApiRestPrueba.exe raised exception class EHTTPProtocolException with message 'HTTP/1.1 401 Unauthorized'.
---------------------------
Break Continue Help
---------------------------
Código Delphi
[-]
var
TokenBearer: AnsiString;
Requestbody: String;
aún cambiando las variables a String Ambas igual tengo el mismo problema cómo comenté intente guardando el token que se actualiza según la api cada 24 horas en un archivo de Texto Denominado Token.txt para luego ser leido el archivo al colocarlo en un Memo de esta manera siempre utilizando el mismo tipo de variables del RequestBody.
Código Delphi
[-]
if RESTResponse1.StatusCode = 200 then
begin
RESTResponseDataSetAdapter1.Active := True;
RESTResponseDataSetAdapter1.AutoUpdate := True;
FDMemTable1.Active := True;
Token := FDMemTable1accessToken.AsString;
eToken.Text := FDMemTable1accessToken.AsString;
TokenBody := Token;
Token := 'Bearer ' + Token;
AssignFile(Fichero, 'C:\MIS APPS\Token.txt');
try
Rewrite(Fichero);
Write(Fichero, Token);
finally
CloseFile(Fichero);
end;
Memo1.Text := TokenBody;
TokenBody1 := '';
TokenBody2 := '';
TokenBody3 := '';
TokenBody4 := '';
TokenBody5 := '';
TokenBody6 := '';
TokenBody7 := '';
TokenBody8 := '';
TokenBody9 := '';
Label2.Caption := IntToStr(Memo1.Lines.Count);
for I := 0 to Memo1.Lines.Count - 1 do
begin
if (I = 0) and (TokenBody1 = '') then
begin
TokenBody1 := Memo1.Lines.Strings[i];
end;
if (I = 1) and (TokenBody2 = '') then
begin
TokenBody2 := Memo1.Lines.Strings[i];
end;
if (I = 2) and (TokenBody3 = '') then
begin
TokenBody3 := Memo1.Lines.Strings[i];
end;
if (I = 3) and (TokenBody4 = '') then
begin
TokenBody4 := Memo1.Lines.Strings[i];
end;
if (I = 4) and (TokenBody5 = '') then
begin
TokenBody5 := Memo1.Lines.Strings[i];
end;
if (I = 5) and (TokenBody6 = '') then
begin
TokenBody6 := Memo1.Lines.Strings[i];
end;
if (I = 6) and (TokenBody7 = '') then
begin
TokenBody7 := Memo1.Lines.Strings[i];
end;
if (I = 7) and (TokenBody8 = '') then
begin
TokenBody8 := Memo1.Lines.Strings[i];
end;
if (I = 8) and (TokenBody9 = '') then
begin
TokenBody9 := Memo1.Lines.Strings[i];
end;
end;
TokenBearer := TokenBody1 + TokenBody2 + TokenBody3 + TokenBody4 +
TokenBody5 + TokenBody6 + TokenBody7 + TokenBody8 + TokenBody9;
En fin AnsiString o String en ambos tipos de variables el RequestBody almacenado antes descrito funciona sin embargo el llamado desde el archivo de texto o almacenado desde el mismo componente FDMemTable.AsString no me estan funcionando.
y tomando tu referencia en Carácteres Unicode encontre esto:
https://jachguate.wordpress.com/2012...elphi-parte-i/
Cita:
En Delphi 2009 o superior, al declarar una variable de tipo Char, PChar o string, estamos declarando contenedores que tienen soporte para el conjunto de caracteres Unicode, y por tanto pueden representar información textual de cualquier alfabeto soportado por el estándar, como japonés, chino, árabe, cirílico, sin olvidar las lenguas latinas como el español, portugués, francés, italiano y y otras.
|
Saludos casimironotevi gracias por responderme..