我有下一个程序来重命名谷歌驱动器上的文件,使用REST与谷歌api。它正在使用Delphi xe7。
不幸的是,对于RAD 10,这个程序提出了一个例外:
Java.net.ProtocolException未知方法'补丁' ... 。我读过它是因为java库。我换了路 Tools-options-sdk manager - java 到XE 7 java库,但它没用。
不想使用随机更改/更新设置玩俄罗斯轮盘,有人可以告诉我,我应该在RAD设置中更新/更改的内容。 谢谢。
procedure ServerPatchDriveFile;
var
Folder : TJSONObject ;
FolderDest, itemmm : TJSONObject ;
parents: TJSONArray ;
begin
form2.RESTResponseDataSetAdapter1.AutoUpdate := false;
form2.RESTRequest1.Params.Clear;
form2.RESTRequest1.ClearBody;
form2.RESTClient1.AutoCreateParams:=false;
form2.RESTClient1.Accept:= '';
form2.RESTClient1.ContentType:= '';
form2.RESTRequest1.Method:= rmPATCH;
Form2.RESTClient1.BaseURL:='https://www.googleapis.com/drive/v2/files/{FileId}';
form2.RESTRequest1.Resource := '';
form2.RESTRequest1.Params.AddUrlSegment('fileId', UntitledId);
Parents:= TJSONArray.Create;
itemmm := TJSONObject.Create;
itemmm.AddPair(TJSONPair.Create('id', form2.EditIdFOlder.Text));
Parents.AddElement((itemmm));
Folder:= TJSONObject.create;
Folder.AddPair(TJSONPair.Create('title', 'Myfile'));
Folder.AddPair(TJSONPair.Create('parents', Parents));
form2.RESTRequest1.AddBody(Folder);
try
form2.RESTRequest1.Execute;
except
on e: Exception do
begin
ShowMessage(e.Message);//Show Exception
end;
end;
Folder.free;
Application.ProcessMessages;
end;