2017-09-12 12 views
0

ファイルをユーザーのDropboxフォルダに共有する方法はありますか?私は正確に実装したい何アプリケーションからDropboxにファイルを共有する(MVC C#)

は以下の通りです:Dropboxのアイコンを

  1. ユーザー]をクリックします。
  2. 次に、Dropboxは彼/彼女のDropboxアカウントの詳細を要求します。
  3. アプリケーションからのファイル自分のDropboxアカウントに保存されています。

私はドロップボックスAPIを検索しましたが、ユーザーのDropboxアカウントに保存するのに役立つものはありませんでした。 APIドキュメントを読みました。 https://www.dropbox.com/developers-v1/core/docs#files_put ここではファイルを自分のDropboxに保存できますが、他には保存できません。

同じことを私にご案内ください。前もって感謝します。

+0

あなたはドロップボックスアカウントに「保存」しないでください。ファイルを「共有する」必要があります。あなたの正しい気持ちには誰も、自分のDropboxのユーザー名**とパスワード**を第三者のWebサイトに提供する必要はありませんが、共有の目的でDropboxアカウント名を指定すると、そのセキュリティ上の問題は生じません。 –

+0

ユーザーがクリックすると、何も質問することなく、自分のDropboxアカウントを開いて共有ファイルを追加するというリンクを提供することは可能だと思います。 –

答えて

1

ユーザーがエクスプローラに統合自分のDropboxを持っている場合、私はあなただけのローカルフォルダに書き込むことができますし、それがすると思うだろう、あなたの目的のために任意のより良いですが、version 1 of the API is deprecated

バージョン2かどうかは知りませんいつものようにDropboxまで同期。

+0

だから、私はちょうどユーザーのローカルディレクトリ内のDropboxフォルダを見つけてそこにファイルを追加する必要があります。 – ParthKansara

+0

私はこのマシンでDropboxをテストしていません。しかし、Webアプリケーションから直接ユーザーのドライブに保存することはできないため、ユーザーは[名前を付けて保存]ダイアログで保存する場所を手動で選択する必要があります。ダイアログが受け入れられないと思われる場合は、APIドキュメントに戻る必要があります - ごめんなさい... – kpollock

+1

ご協力ありがとうございます。ここでは一度コードを更新します。 – ParthKansara

0

Dropbox APIを使用すると、ユーザーが自分のDropboxアカウントにアクセスしてプログラムでファイルをアカウントに保存できるようにすることができます。 (これにより、ユーザーは、公式Dropboxのアプリがインストールされていない場合でも動作します。).NETの場合

、我々は公式のDropbox API v2の.NETのSDK使用をお勧めします:

https://www.dropbox.com/developers/documentation/dotnet

チュートリアルショーファイルをアップロードする方法:

https://www.dropbox.com/developers/documentation/dotnet#tutorial

+0

リンクをありがとう。私の要件は、Dropbox APIを使用する必要がない方法です。私はちょうどローカルフォルダにそれを保存する必要があり、それは自動的にドロップボックスを同期します。 – ParthKansara

0

をここに私はDropboxのを保存するために使用するコードスニペットです。これが仲間を助けることを願っています。

// Code to retrieve Dropbox Local Folder 
var infoPath = @"Dropbox\info.json"; 
     var jsonPath = Path.Combine(Environment.GetEnvironmentVariable("LocalAppData"), infoPath); 

     if (!System.IO.File.Exists(jsonPath)) jsonPath = Path.Combine(Environment.GetEnvironmentVariable("AppData"), infoPath); 

     if (!System.IO.File.Exists(jsonPath)) { 
      return "-2"; 
     } 

     var dropboxPath = System.IO.File.ReadAllText(jsonPath).Split('\"')[5].Replace(@"\\", @"\"); 

     string fileName = "Your FileName"; 
     string sourcePath = Server.MapPath("Source Path Here"); 
     string targetPath = dropboxPath; 

     // Use Path class to manipulate file and directory paths. 
     string sourceFile = System.IO.Path.Combine(sourcePath, "filename.extention"); 
     string destFile = System.IO.Path.Combine(targetPath, fileName); 

     // To copy a folder's contents to a new location: 
     // Create a new target folder, if necessary. 
     if (!System.IO.Directory.Exists(targetPath)) 
     { 
      System.IO.Directory.CreateDirectory(targetPath); 
     } 

     // To copy a file to another location and 
     // overwrite the destination file if it already exists. 
     System.IO.File.Copy(sourceFile, destFile, true); 

     if (System.IO.File.Exists(destFile)) 
     { 
      System.IO.File.SetLastWriteTime(destFile, DateTime.Now); 
     } 
+0

私はこれがクライアントのフォルダにアクセスできないWebアプリからはうまくいかないと思います。私は最初にローカルでテストしました。 – ParthKansara

関連する問題