delphi xe10+TNetHTTPClient 读取微信云数据库
procedure Tfmain.Button1Click(Sender: TObject);
var
vHttp:TNetHTTPClient;
vString,vUrl,vPstr,vaccess_token:String;
vJson:TJSONObject;
vStream,vStr:TStringStream;
begin
vHttp:=TNetHTTPClient.Create(nil);
vStr:=TStringStream.Create;
Try
vStr.Clear;
With vHttp do
begin
ConnectionTimeout:=2000;
ResponseTimeout:=5000;
AcceptCharSet:='UTF-8';
// AcceptEncoding:='65001';
AcceptLanguage:='zh-CN';
Accept:='application/json';
ContentType:='application/json; charset=utf-8;';
UserAgent:='Embarcadero URI Client/1.0';
vUrl:='https://api.weixin.qq.com/cgi-bin/token?';
vString:='https://api.weixin.qq.com/cgi-bin/token?';
vString:=vString+'grant_type=client_credential'+'&';
vString:=vString+'appid=小程序ID'+'&';
vString:=vString+'secret=小程序私钥';
try
Try
// Memo2.Lines.Add('vList:'+vString);
get(vString,vStr);
// Memo2.Lines.Add('Get:'+vStr.DataString);
vJson:=TJSONObject.ParseJSONValue(Trim(vStr.DataString)) as TJSONObject;
vaccess_token:=vJson.GetValue('access_token').ToString;
vaccess_token:=StringReplace(vaccess_token,'"','',[rfReplaceAll]);
Except
on e:Exception do
begin
Memo2.Lines.Add('Get错误:'+e.Message)
end;
End;
//第二步
vUrl:='https://api.weixin.qq.com/tcb/databaseadd?access_token='+vaccess_token;
vPstr:='{"env":"云环境名称",'+
'"query":"db.collection(\"数据库名称\").add({' +
'data:{name:100}})"'+
'}';
vStream := tstringstream.Create(vPstr, tencoding.UTF8);
try
post(vUrl,vStream,vStr);
Memo2.Lines.Add('结果:'+vStr.DataString);
Except
on e:Exception do
begin
Memo2.Lines.Add('Post错误:'+e.Message)
end;
End;
finally
vStr.Free;
vHttp.Free;
end;
end;
Finally
End;
end;
阿进(5909350) 2022/2/25 2:23:26 分享
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.044612884521484 seconds