-11
私はDropbox API V2を使用してWindowsデスクトップソフトウェアをDelphi 7で開発しています。 私のコードは機能しません。私に正しい正誤表のDelphiコードを提供してください! ありがとう!Delphi Dropbox API v2ファイルのアップロード
マイコードスニペット:
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のサーバは常に言う:
400不正な要求を、ソースファイルが存在しています。
助けてください!
適切にあなたのコードをフォーマットしてください。コードと期待される動作を明確に示します。現在、あなたのコードは解釈するのが難しいです。 –
400不正なリクエストエラーは、サーバーが受け入れない方法でHTTPポストの形式が誤っていることを意味します。 – Fero
あなたの '(Dropbox-API-Arg:..'閉じていない ')' ** **の文字列の中に?つまり、 ')'は構文エラーのように見えます。 – MartynA