原文:https://www.cnblogs.com/wuxi15/p/12650896.html
function GetAccessToken(const client_id, client_secret: string;
HTTP: TNetHTTPClient;out access_token,expires_in,error:String):Boolean;
var
URL:String;
cParam:TStringList;
FJson:TJsonObject;
S:string;
begin
URL:=‘https://aip.baidubce.com/oauth/2.0/token‘;
cParam:=TStringList.Create;
cParam.Add(‘grant_type=client_credentials‘);
cParam.Add(‘client_id=‘+client_id);
cParam.Add(‘client_secret=‘+client_secret);
try
s:=HTTP.Post(URL,cParam).ContentAsString;
FJson:=TJSONObject.ParseJSONValue(s) as TJSONObject;
error:=‘‘;
if FJson.Values[‘error‘]<>nil then
begin
if FJson.Values[‘error_description‘].Value=‘unknown client id‘ then
error:=‘API Key不正确‘;
if FJson.Values[‘error_description‘].Value=‘Client authentication failed‘ then
error:=‘Secret Key不正确‘;
if error=‘‘ then
error:=‘未知错误‘;
FJson.Free;
Exit(false);
end;
access_token:=FJson.Values[‘access_token‘].Value;
expires_in:=FJson.Values[‘expires_in‘].Value;
Result:=True;
FJson.Free;
finally
cParam.Clear;
cParam.Free;
end;
end;
Delphi 10.4 -- TNetHTTPClient使用示例
原文:https://www.cnblogs.com/tc310/p/14924074.html