【コピペOK】Dropboxへのファイル追加をGmailに自動通知!GASで作る「見逃しゼロ」の仕組み

フリーランスやチームで仕事をしていると、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と「会話」するための許可証(アクセストークン)を取得します。

  1. Dropbox Developerサイトにアクセスし、Dropboxアカウントでログインします。
  2. 画面にある「Create app」という青いボタンをクリックします。
  3. 「Choose an API」では「Scoped access」を選択します。
  4. 「Choose the type of access you need」では、どのフォルダにアクセスを許可するか選びます。まずは安全な「App folder」(このアプリ専用のフォルダが作られる)を選ぶのがおすすめです。
  5. 「Name your app」で、アプリに分かりやすい名前を付けます(例:「GASファイル通知アプリ」など)。名前を入力したら、チェックボックスにチェックを入れて「Create app」をクリックします。
  6. アプリの管理画面に移動します。「Permissions」タブをクリックし、「files.metadata.read」という項目にチェックを入れ、「Submit」ボタンを押します。これは「ファイルの情報を読み取る許可」を与える設定です。
  7. 次に「Settings」タブに戻ります。「Generated access token」というセクションまでスクロールし、「Generate」ボタンをクリックしてください。
  8. 英数字の長い文字列(これがアクセストークンです)が生成されます。これはGASからDropboxにアクセスするための「合言葉」のようなもの。第三者には絶対に見せないように、メモ帳などにコピーして大切に保管してください。

Step2: Google Apps Scriptプロジェクトを作成する

次に、自動化プログラムを書き込む場所を用意します。

  1. Googleドライブを開きます。
  2. 左上の「+ 新規」ボタンをクリックし、「その他」>「Google Apps Script」を選択します。もし見当たらない場合は、「アプリを追加」から検索して追加してください。
  3. 新しいスクリプトエディタの画面が開きます。左上の「無題のプロジェクト」をクリックして、分かりやすい名前(例:「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: 定期実行トリガーを設定する

このスクリプトを自動で動かすための「目覚まし時計」を設定します。これが最後のステップです!

  1. GASエディタの左側メニューから、目覚まし時計のアイコン(トリガー)をクリックします。
  2. 右下に表示される「トリガーを追加」ボタンをクリックします。
  3. 設定ウィンドウが開くので、以下のように設定します。
    実行する関数を選択: `checkNewFiles` を選びます。
    実行するデプロイを選択: `Head` のままでOKです。
    イベントのソースを選択: 「時間主導型」を選びます。
    時間ベースのトリガーのタイプを選択: 「分ベースのタイマー」を選びます。
    時間の間隔を選択(分): 「10分おき」や「30分おき」など、チェックしたい頻度を選びます。
  4. 設定が終わったら「保存」ボタンをクリックします。
  5. 初回設定時には「承認が必要です」という画面が表示されます。ご自身のアカウントを選択し、「詳細」→「(プロジェクト名)に移動」をクリックして、表示される許可のリクエストを「許可」してください。これは、作成したスクリプトに「あなたに代わってGmailを送信したり、外部と通信したりする権限」を与えるための重要な手続きです。

これで、すべての設定が完了です!お疲れ様でした!設定した時間間隔でスクリプトが自動実行され、指定したDropboxフォルダに新しいファイルが追加されると、あなたのGmailに通知が届くようになります。

まとめ:自動化で生まれた時間を、もっと創造的な仕事に

今回は、Google Apps Scriptを使ってDropboxのファイル追加を自動でGmailに通知する仕組みを構築しました。これで、ファイルの見逃しというヒューマンエラーを防ぎ、何度もフォルダを確認しにいくという無駄な時間を削減できます。生まれた時間は、資料作成やクライアントとのコミュニケーションなど、もっと創造的で価値のある仕事に使いましょう!
今回の仕組みを応用すれば、「通知先をGmailではなくSlackにする」「追加されたファイル情報をGoogleスプレッドシートに記録する」といった、さらに便利な自動化も可能です。まずはこの「見逃しゼロ」の仕組みを動かして、業務ハックの楽しさと効果をぜひ実感してみてください!


免責事項:本記事で紹介している手順やコードは、執筆時点での情報に基づいています。各サービスの仕様変更により、同様の手順で動作しない可能性があります。また、本チュートリアルの実行によって生じたいかなる損害についても、当方は一切の責任を負いかねます。ご自身の責任において、バックアップを取るなどの対策の上、実行してください。

タイトルとURLをコピーしました