2017-10-17 21 views
0

午後すべて 私はサードパーティ製のAPIと統合しようとしていて、面倒です。最初に目標を説明しましょう: ファイル(.txtファイル)を作成し、後で取り出すためにユーザーを1つのDropboxアカウントにアップロードします。 アップロードプロセスに入る前に、ファイルはすべてメモリストリームとして設定されています。私はこの簡単なコード(テスト目的のために)を使用して私の鍵を持っている自分のアカウントにアップロードしようとします。 ?。[\ r個の\ nを]))| |((/(:上記Dropbox API 2 - UploadAsyncが無効なパスエラーを返します

public async Task<string> ReturnNewUploader(FileDetailObject fdo) { 
var dbx = new DropboxClient("MY KEY"); 
fdo.DropboxClient = dbx; 
var action = await fileUploader.UploadFileAsync(fdo); 
...} 

public async Task<string> UploadFileAsync(FileDetailObject fdo) { 
var dropbox = await fdo.DropboxClient.Users.GetCurrentAccountAsync(); 
var req = await fdo.DropboxClient.Files.UploadAsync("TestFolder/test.txt" WriteMode.Overwrite.Instance, body: fdo.MemStream); 

例外がスローされます:: 値がパターンと一致する必要があります「\(ここでの使用の一般的なsnippitですNS:[0-9] +(/を。))|(ID:?。*))\ Z」 パラメータ名:パス のparamName:パス

のStackTrace:Dropbox.Api.Files.CommitInfoで。 .ctor(文字列パス、WriteModeモード、ブール代名詞、Nullable 1 clientModified, Boolean mute) at Dropbox.Api.Files.Routes.FilesUserRoutes.UploadAsync(String path, WriteMode mode, Boolean autorename, Nullable、clientModified、ブールミュート、ストリームボディ) at appname.BusinessLogic.FTPer.d__3.MoveNext()in C:......... \ appname \ appname.BusinessLogic \ FT Per.cs:line 78

私はパスに何が間違っているのか分かりません。期待通りのものです。ディレクトリはアカウントに存在します。私もフォルダを使用せずにファイル名を渡すだけで、同じエラーが発生しました。

思考?また、これをもっときれいに実装できるなら、私は絶対に提案についています。これは本当にログインプロンプトを使用できないことを知っており、私たちが管理する単一のDropboxアカウントに書き込む必要があります。

答えて

1

非ルート・ファイル・パスは、'/'で始まる必要があり、その代わりに:

"TestFolder/test.txt"

次のようなものを持っている必要があります。

"/TestFolder/test.txt"

+0

おかげでグレッグ - 私は実際にちょうどこれをやってました問題を解決したことが判明しました。ありがとう! – lrossignol

関連する問題