小编BDu*_*rte的帖子

如何将 REST API 与 FireMonkey 结合使用?

我需要在 FireMonkey 中实现 REST API 来获取一些信息,但我不确定如何做到这一点。

REST API使用OAuth2,我可以访问两个代码:Consumer Key和Consumer Secret。之后,我需要获得一个临时的 Bearer 令牌。

要请求临时令牌,需要向令牌端点https://apigateway.serpro.gov.br/tokenAuthorization执行 HTTP POST 请求,以 Base64 格式在HTTP 标头中告知访问凭证(consumerKey:consumerSecret) , 如下所示。

[POST] grant_type = client_credentials 
[HEAD] Authorization: Basic Base64 (Consumer key: ConsumerSecret)
Run Code Online (Sandbox Code Playgroud)

如何使用 Delphi 获取访问令牌?

delphi rest firemonkey

3
推荐指数
1
解决办法
2853
查看次数

如何从 Delphi 中的 TRESTReponse 获取子项值?

我需要获取包含以下 JSONsubitem1的 a 的值:LResponse

"Information": {
    "subitem1": "2011",
    "subitem2": "Test"
}
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码来获取其他值,它运行良好,但是当我尝试获取Information, subitem1or时subitem2,它返回一个空值。

var
  LClient: TRESTClient;
  LRequest: TRESTRequest;
  LResponse: TRESTResponse;
begin
  LClient := TRESTClient.Create(URL_API);
  try
    LRequest := TRESTRequest.Create(LClient);
    try
      LResponse := TRESTResponse.Create(LClient);
      try
        LRequest.Client := LClient;
        LRequest.Response := LResponse;
        LRequest.Method := rmGET;
        LRequest.Params.AddHeader('Authorization','Bearer '+FToken);
        LRequest.Params.ParameterByName('Authorization').Options := [poDoNotEncode];
        LRequest.Params.AddHeader('Accept', 'application/json');
        LRequest.Execute;

        LResponse.GetSimpleValue('subitem1', FLogradouro);
        { ... }
Run Code Online (Sandbox Code Playgroud)

delphi response firemonkey

1
推荐指数
1
解决办法
756
查看次数

标签 统计

delphi ×2

firemonkey ×2

response ×1

rest ×1