解決策1
APIドキュメントによると、/metadata
ファイルとフォルダのメタデータを取得します。ハッシュ(md5)を比較して確認する
URL構造:https://api.dropbox.com/1/metadata/auto/<path>
指定されたファイルまたはフォルダのメタデータを返します。がフォルダを表し、listパラメータがtrueの場合、メタデータにはフォルダのコンテンツのメタデータのリストも含まれます。
Javaでの使用
JavaSDKドキュメントから
public DbxEntry getMetadata(String path)
throws DbxException
Get the file or folder metadata for a given path.
DbxClient dbxClient = ...
DbxEntry entry = dbxClient.getMetadata("/Photos");
if (entry == null) {
System.out.println("No file or folder at that path.");
} else {
System.out.print(entry.toStringMultiline());
}
パラメーター
path-ファイルまたはフォルダーへのパス(DbxPathを参照)。
戻り値
指定されたパスにファイルまたはフォルダーがある場合は、そのパスのメタデータを返します。そこにファイルまたはフォルダがない場合は、nullを返します。
スロー
DbxException
アップデート
解決策2(ハッキーな回避策)
残念ながら、Dropboxはファイルのハッシュを提供せず、ディレクトリのみを提供します。したがって、同期にdropbox APIを使用して開発している場合は、次のいずれかを実行できます
- ファイルをダウンロードするときは、リビジョン番号が含まれているrevパラメータをコピーします
- ローカルファイルとクラウドファイルの最終変更を比較します(注:常に機能することは保証されていません。2人が同時にローカルでファイルを編集し、そのうちの1人がドラフトファイルを上書きすると、誤検知が発生する可能性があります)。