-11
Ich entwickle in Delphi 7 eine Windows-Desktop-Software mit Dropbox API V2. Mein Code funktioniert nicht. Bitte geben Sie mir einen korrekten Delphi-Code! Danke!Delphi Dropbox API v2 Datei-Upload
Mein Code-Schnipsel:
procedure TDropbox.Upload(SourceFileName: String; DropBoxFileName: String; FTimeout: Integer = 5000);
const
FDropBoxAppAccessToken = 'xxxxxxxxxxxxxxxxxxxx';
var
FHTTPS: TIdHTTP;
FStream: TFileStream;
FDropBoxResponseCode: Integer;
FHTTPResponse: String;
begin
FHTTPRequestURL := 'https://api-content.dropbox.com/2/files/upload';
FStream := TFileStream.Create(SourceFileName, fmOpenRead);
FStream.Position := 0;
FHTTPS := TIdHTTP.Create(nil);
FHTTPS.ConnectTimeout := FTimeout;
FDropBoxResponseCode := 0;
FHTTPResponse := '';
params := TStringList.Create;
arg := 'Dropbox-API-Arg:{"path:"' + FDropBoxBaseAppPath + DropBoxFileName + '}';
try
FHTTPS.Request.CustomHeaders.Add('Authorization:Bearer ' + FDropBoxAppAccessToken);
FHTTPS.Request.CustomHeaders.AddStrings := '(Dropbox-API-Arg:{"path:"' + FDropBoxBaseAppPath + DropBoxFileName + '}');
FHTTPS.Request.CustomHeaders.Values[arg];
FHTTPS.Request.ContentType := 'application/octet-stream';
FHTTPS.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(FHTTPS);
FHTTPResponse := FHTTPS.Post(FHTTPRequestURL, FStream);
except on E: Exception do
begin
end;
end;
Dropbox-Server immer sagt:
400 Bad Anfrage, die Quelldatei vorhanden ist.
Bitte helfen!
Formatieren Sie Ihren Code. Offensichtlich Code und erwartetes Verhalten. Derzeit ist Ihr Code schwer zu interpretieren. –
400 Ungültiger Anforderungsfehler bedeutet, dass der HTTP-Post in einer Weise fehlerhaft ist, die der Server nicht akzeptiert. – Fero
Ist nicht Ihre '(Dropbox-API-Arg: .. 'fehlt eine Schließung') '** innerhalb der Zeichenfolge? So wie es ist, das Schließen ')' sieht wie ein Syntaxfehler aus. – MartynA