フリーランスやチームで仕事をしていると、Dropboxでのファイル共有は欠かせませんよね。でも、「クライアントから契約書がアップロードされたのに気づかなかった…」「チームメンバーが更新した最新資料を見逃していた…」なんて、ヒヤッとした経験はありませんか?共有フォルダを何度も見に行くのは非効率ですし、かといって見逃しは避けたい。そんな悩みを抱えるあなたに朗報です。この記事では、プログラミング経験がなくても大丈夫なように、Dropboxの特定フォルダに新しいファイルが追加されたら、あなたのGmailに自動で通知が届く仕組みの作り方を、ステップ・バイ・ステップで丁寧に解説します。30分もあれば、もう二度と重要なファイルの更新を見逃さない、頼もしい自動アシスタントが手に入りますよ!
今回作成する自動化の全体像
まずは、これから作る自動化の仕組みがどんな流れで動くのか、全体像を掴んでおきましょう。難しいことはありません。以下の図のように、Googleの便利なツール「Google Apps Script(GAS)」が、あなたに代わってDropboxを定期的に見張り、新しいファイルを見つけたらGmailでお知らせしてくれる、というシンプルな流れです。
graph TD
A[Dropboxの共有フォルダにファイルが追加される] --> B{Google Apps Scriptが定期的にチェック};
B -->|新しいファイルを発見!| C[ファイル名や場所の情報を取得];
C --> D[Gmailで指定のアドレスに通知メールを自動送信];
B -->|新しいファイルなし| E[今回は何もしない];
D --> F[あなたはスマホやPCで通知を受け取る];
ステップ0:事前準備
本格的な作業に入る前に、今回の自動化で使う道具を揃えておきましょう。ほとんどが普段お使いのアカウントだと思いますが、念のためご確認ください。すべて無料で準備できます。
- Dropboxアカウント:ファイルを保存する場所です。もちろんお持ちですよね!
- Googleアカウント:通知を受け取るGmailや、自動化の心臓部となるGoogle Apps Scriptを利用するために必要です。
- Dropbox Developerアカウント:Dropboxと外部ツール(今回はGAS)を連携させるための「開発者用アカウント」です。こちらも無料で、Googleアカウントでログインすればすぐに作成できます。
ステップ・バイ・ステップ構築ガイド
準備が整ったら、いよいよ構築スタートです!一つひとつの手順を丁寧に進めていきましょう。
Step1: Dropbox APIアプリを作成し、アクセストークンを取得する
まずは、GASがDropboxと「会話」するための許可証(アクセストークン)を取得します。
- Dropbox Developerサイトにアクセスし、Dropboxアカウントでログインします。
- 画面にある「Create app」という青いボタンをクリックします。
- 「Choose an API」では「Scoped access」を選択します。
- 「Choose the type of access you need」では、どのフォルダにアクセスを許可するか選びます。まずは安全な「App folder」(このアプリ専用のフォルダが作られる)を選ぶのがおすすめです。
- 「Name your app」で、アプリに分かりやすい名前を付けます(例:「GASファイル通知アプリ」など)。名前を入力したら、チェックボックスにチェックを入れて「Create app」をクリックします。
- アプリの管理画面に移動します。「Permissions」タブをクリックし、「files.metadata.read」という項目にチェックを入れ、「Submit」ボタンを押します。これは「ファイルの情報を読み取る許可」を与える設定です。
- 次に「Settings」タブに戻ります。「Generated access token」というセクションまでスクロールし、「Generate」ボタンをクリックしてください。
- 英数字の長い文字列(これがアクセストークンです)が生成されます。これはGASからDropboxにアクセスするための「合言葉」のようなもの。第三者には絶対に見せないように、メモ帳などにコピーして大切に保管してください。
Step2: Google Apps Scriptプロジェクトを作成する
次に、自動化プログラムを書き込む場所を用意します。
- Googleドライブを開きます。
- 左上の「+ 新規」ボタンをクリックし、「その他」>「Google Apps Script」を選択します。もし見当たらない場合は、「アプリを追加」から検索して追加してください。
- 新しいスクリプトエディタの画面が開きます。左上の「無題のプロジェクト」をクリックして、分かりやすい名前(例:「Dropboxファイル追加通知」)に変更しておきましょう。
Step3: Dropboxフォルダを監視し、通知を送るスクリプトを記述する
いよいよ、自動化の心臓部となるプログラムを書いていきます。以下のコードをコピーして、エディタに表示されている既存のコード全体を上書きする形で貼り付けてください。
const DROPBOX_ACCESS_TOKEN = 'ここにStep1で取得したアクセストークンを貼り付け';
const TARGET_FOLDER_PATH = '/Apps/あなたのアプリ名'; // 監視したいDropboxフォルダのパス
const NOTIFY_EMAIL_ADDRESS = '通知を受け取りたいあなたのメールアドレス';
function checkNewFiles() {
const scriptProperties = PropertiesService.getScriptProperties();
const lastCheckedFileNames = JSON.parse(scriptProperties.getProperty('lastCheckedFileNames') || '[]');
const url = 'https://api.dropboxapi.com/2/files/list_folder';
const payload = {
path: TARGET_FOLDER_PATH,
recursive: false,
include_media_info: false,
include_deleted: false,
include_has_explicit_shared_members: false
};
const options = {
method: 'post',
contentType: 'application/json',
headers: {
'Authorization': 'Bearer ' + DROPBOX_ACCESS_TOKEN
},
payload: JSON.stringify(payload)
};
try {
const response = UrlFetchApp.fetch(url, options);
const result = JSON.parse(response.getContentText());
const currentFiles = result.entries;
const currentFileNames = currentFiles.map(file => file.name);
const newFiles = currentFiles.filter(file => !lastCheckedFileNames.includes(file.name));
if (newFiles.length > 0) {
let mailBody = 'Dropboxのフォルダに新しいファイルが追加されました。\n\n';
newFiles.forEach(file => {
mailBody += `・ファイル名: ${file.name}\n`;
mailBody += `・パス: ${file.path_display}\n\n`;
});
MailApp.sendEmail({
to: NOTIFY_EMAIL_ADDRESS,
subject: '【Dropbox通知】新しいファイルが追加されました',
body: mailBody
});
}
scriptProperties.setProperty('lastCheckedFileNames', JSON.stringify(currentFileNames));
} catch (e) {
console.error('Dropbox APIの呼び出しに失敗しました: ' + e.toString());
MailApp.sendEmail({
to: NOTIFY_EMAIL_ADDRESS,
subject: '【エラー】Dropbox通知スクリプト',
body: 'Dropboxのファイルチェック処理でエラーが発生しました。\n\n' + e.toString()
});
}
}
貼り付けたら、コードの先頭にある3つの項目をあなたの情報に書き換えてください。
DROPBOX_ACCESS_TOKEN: Step1で取得した長い文字列を `’ ‘` の間に貼り付けます。TARGET_FOLDER_PATH: 監視したいDropbox内のフォルダのパスを指定します。Step1で「App folder」を選んだ場合、/Apps/あなたが付けたアプリ名となります。NOTIFY_EMAIL_ADDRESS: 通知を受け取りたいご自身のGmailアドレスを入力します。
書き換えたら、フロッピーディスクのアイコン(プロジェクトを保存)をクリックして保存します。
Step4: 定期実行トリガーを設定する
このスクリプトを自動で動かすための「目覚まし時計」を設定します。これが最後のステップです!
- GASエディタの左側メニューから、目覚まし時計のアイコン(トリガー)をクリックします。
- 右下に表示される「トリガーを追加」ボタンをクリックします。
- 設定ウィンドウが開くので、以下のように設定します。
・実行する関数を選択: `checkNewFiles` を選びます。
・実行するデプロイを選択: `Head` のままでOKです。
・イベントのソースを選択: 「時間主導型」を選びます。
・時間ベースのトリガーのタイプを選択: 「分ベースのタイマー」を選びます。
・時間の間隔を選択(分): 「10分おき」や「30分おき」など、チェックしたい頻度を選びます。 - 設定が終わったら「保存」ボタンをクリックします。
- 初回設定時には「承認が必要です」という画面が表示されます。ご自身のアカウントを選択し、「詳細」→「(プロジェクト名)に移動」をクリックして、表示される許可のリクエストを「許可」してください。これは、作成したスクリプトに「あなたに代わってGmailを送信したり、外部と通信したりする権限」を与えるための重要な手続きです。
これで、すべての設定が完了です!お疲れ様でした!設定した時間間隔でスクリプトが自動実行され、指定したDropboxフォルダに新しいファイルが追加されると、あなたのGmailに通知が届くようになります。
まとめ:自動化で生まれた時間を、もっと創造的な仕事に
今回は、Google Apps Scriptを使ってDropboxのファイル追加を自動でGmailに通知する仕組みを構築しました。これで、ファイルの見逃しというヒューマンエラーを防ぎ、何度もフォルダを確認しにいくという無駄な時間を削減できます。生まれた時間は、資料作成やクライアントとのコミュニケーションなど、もっと創造的で価値のある仕事に使いましょう!
今回の仕組みを応用すれば、「通知先をGmailではなくSlackにする」「追加されたファイル情報をGoogleスプレッドシートに記録する」といった、さらに便利な自動化も可能です。まずはこの「見逃しゼロ」の仕組みを動かして、業務ハックの楽しさと効果をぜひ実感してみてください!
免責事項:本記事で紹介している手順やコードは、執筆時点での情報に基づいています。各サービスの仕様変更により、同様の手順で動作しない可能性があります。また、本チュートリアルの実行によって生じたいかなる損害についても、当方は一切の責任を負いかねます。ご自身の責任において、バックアップを取るなどの対策の上、実行してください。
