課題:
Dropboxリンクを使って画像や動画をWordPressなどのブログに貼り付けることはできますが、意外とやっている人は少ないです。その理由はいくつかあると思いますが、一番大きな理由は、Dropboxリンクの文字列を見たときに、例えば以下のような画像ファイルの文字列を見たときに、
これだけでは、その画像ファイルが自分のMac,PCのどこにあるのか全くわからない。さらにDropboxフォルダのどこにあるのかもわからない。迷子になるからです。
つまり、後になってその画像や動画を修正したい時、ローカルにあるファイルがすぐに見つからないという壁にぶつかってしまうのです。というか、安全対策上、ある場所をマル見せしない、それが基本ではありますが。

(※正しくいうと、Dropboxの場合、おうちはDropboxのクラウドストレージ、出先がローカルフォルダ、という関係になります。ですから、エラーが続くからといって、Dropboxのクラウド側を空っぽにして、ローカルのファイルを送り込むようなことをするのは大間違いです。Dropboxリンクは全て新しいものに置き換わってしまいます。正しくは、いつも、ローカル側を空にして、クラウドストレージ側からダウンロードします。)
ポイント解説:
その対処ですが、3つ考えられます。
1つ目は、ローカルで常に記録することです。
つまり、Dropboxリンクを取得するときに、そこに紐づくファイルパス(フルパスで)を記録しておくようにします。さらに、その後でファイルの名前を変えたり、フォルダを変更したりすることがあります。したがって、変更前のファイルパスと変更後のファイルパスをペアで記録しておくようにします。ローカルで確実に管理できますね。
2つ目は、Dropbox APIを利用する方法です。
Dropbox APIを使うと、Dropboxリンク及びローカルにあるDropboxフォルダ以下のパスがペアで取得できます。この情報を使って照合します。
3つ目は、正確さは欠けますが、発見的方法(ヒューリスティック・アプローチ)です。
そこまで丁寧な方法ではなくて、ざっくりと推測する、候補を複数ピックアップする、それだけでもかなり有用です。
APIを使わずに、
「すでにMac上にあるDropboxフォルダ内の実ファイルと照合する」だけでも、かなり役に立ちます。
今回は、一番シンプルな、この3つ目の方法を紹介します。
手順:
[考え方] Dropbox APIは使わず、すでにMac上にあるDropboxフォルダ内の実ファイルと照合する、発見的方法です。 Dropboxリンクは、”***/********?rlkey=*******&raw=1″における/と?に挟まれた赤字の部分に、ファイル名から日本語文字列を削除した部分が残されています。ローカルの対象フォルダの中のファイル名の日本語文字列を削除した部分と一致するものを抽出する方法です。 AppleScriptのアプリで、以下のような手順を行うようにします。 (1)Dropbox共有リンクの入力を受け付ける (2)そのURLから、共有リンクに埋め込まれたファイル名(dropboxStyleName)を抽出する (3)Macのローカルディスク(Dropboxと同期されているフォルダ)内のファイルを find コマンドで検索し、 (4)ファイル名を変換(日本語文字を – に)して、dropboxStyleName と一致するかどうかを照合する (5)一致したファイルの ローカルパス をリストアップして表示する 以上 |

スクリプト:
結果:
ファイル名に、日本語を多用している場合は、複数の候補が表示されるようになっています。しかし、ファイル名には日付や連番、バージョンなどの英数字を含めるように気を配れば、複数の候補がある場合は、非常に少ないでしょう。したがって、今回の紹介の方法は、実用的であると思います。
以上