我需要以编程方式请求一些文件并发送文件作为响应。如何通过API从Delphi创建一个文件请求( https://www.dropbox.com/requests ),这样第三方就可以用这种代码将请求的文件发回给我;
procedure TDropbox.Upload(const AFileName: String);
const
API_URL = 'https://api-content.dropbox.com/1/files_put/sandbox/';
var
URL: String;
Stream: TMemoryStream;
ShortFileName: String;
https: TIdHTTP;
SslIoHandler: TIdSSLIOHandlerSocket;
begin
if not FileExists(AFileName) then
begin
raise EInOutError.CreateFmt('File %s not found', [AFileName]);
end;
ShortFileName := ExtractFileName(AFileName);
URL := API_URL+ShortFileName
+ '?oauth_signature_method=PLAINTEXT&oauth_consumer_key=' + FAppKey
+ '&oauth_token=' + FOAuth.AccessToken
+ '&oauth_signature=' + FAppSecret + '%26' + FOAuth.AccessTokenSecret;
https := TIdHTTP.Create(nil);
Stream := TMemoryStream.Create;
try
SslIoHandler := TIdSSLIOHandlerSocket.Create(https);
SslIoHandler.SSLOptions.Method := sslvTLSv1;
SslIoHandler.SSLOptions.Mode := sslmUnassigned;
https.IOHandler := SslIoHandler;
Stream.LoadFromFile(AFileName);
https.Post(URL, Stream);
finally
FreeAndNil(Stream);
FreeAndNil(https);
end;
end;发布于 2022-10-17 19:11:19
文章中的代码引用了一个API端点,用于使用已退役的Dropbox v1上传文件。
如果希望以编程方式创建文件请求,则应该在当前的Dropbox v2上使用/2/ file _v2/ create端点。您可以在这里找到相关的文档:
https://www.dropbox.com/developers/documentation/http/documentation#file_requests-create
请注意,Dropbox不提供以编程方式将文件上载到文件请求的能力。您可以像上面那样以编程方式创建文件请求,但是上传到文件请求将是一个手动过程。
https://stackoverflow.com/questions/74097174
复制相似问题