毎日のファイルチェック、Dropboxを開いて確認していませんか?ファイルが増えるたびにDropboxを開くのは面倒ですよね。特に、複数人で共有フォルダを使っている場合、誰がいつどんなファイルをアップロードしたのかをリアルタイムで把握するのは至難の業です。でも、もう大丈夫!このチュートリアルでは、Google Apps Script (GAS) を使って、Dropboxに新しいファイルが追加された瞬間にGmailで自動通知を受け取る方法を、ステップ・バイ・ステップで解説します。プログラミングの知識がなくても、コピペで簡単に実装できるので、ぜひ挑戦してみてください!
今回作成する自動化の全体像
graph TD A[Dropboxにファイルが追加される] --> B{GASがファイル追加を検知}; B -- ファイル名とフォルダ名を取得 --> C[Gmailで通知メールを送信];
ステップ0:事前準備
- Googleアカウント(GASを実行するために必要です)
- Dropboxアカウント(監視対象フォルダへのアクセス権限が必要です)
- Dropbox APIキーとシークレットキー
- Google Apps Script の基本的な知識(なくても、この記事で解説する手順通りに進めれば大丈夫です!)
ステップ・バイ・ステップ構築ガイド
Step1:Dropbox APIキーとシークレットキーの取得
- Dropbox開発者コンソール (https://www.dropbox.com/developers) にアクセスし、[Create app] をクリックします。
- 「Scooped access」を選択し、[App folder] を選択します。
- アプリ名を入力し、[Create app] をクリックします。
- 「Permissions」タブに移動し、「files.list_folder」と「files.content.read」にチェックを入れ、「Submit」をクリックします。
- 「Settings」タブの「App key」と「App secret」をメモします。これらはスクリプトで利用します。
Step2:Google Apps Script のプロジェクト作成
- Google スプレッドシートを開き、[ツール] > [スクリプトエディタ] を選択します。
- 新しいプロジェクトが作成されます。
Step3:スクリプトの記述
- 下記のコードをコピー&ペーストします。
YOUR_APP_KEY
とYOUR_APP_SECRET
には、Step1で取得したキーをそれぞれ設定してください。YOUR_DROPBOX_FOLDER_PATH
には、監視対象のDropboxフォルダのパスを設定してください。パスはDropboxのウェブインターフェースで確認できます。(例: “/フォルダ名”)YOUR_EMAIL_ADDRESS
には、通知を受け取るGmailアドレスを設定します。YOUR_REDIRECT_URI
には、Dropboxアプリの設定画面にある「OAuth 2」の「Redirect URIs」に記載されているURIを貼り付けます。もし設定されていない場合は、`https://script.google.com/macros/d/${ScriptApp.getScriptId()}/usercallback`をDropboxアプリの「OAuth 2」の「Redirect URIs」に追加し、その値を貼り付けます。
function doGet(e) {
return ContentService.createTextOutput("Hello World!");
}
function myFunction() {
// Dropbox API 認証
const dropbox = Dropbox.authorize({
clientId: 'YOUR_APP_KEY',
clientSecret: 'YOUR_APP_SECRET',
redirectUri: 'YOUR_REDIRECT_URI',
});
// Dropbox フォルダの監視
const folderPath = 'YOUR_DROPBOX_FOLDER_PATH';
const changes = dropbox.filesListFolder({path: folderPath});
// 新規ファイルの検出とメール送信
if (changes.entries.length > 0){
for (let i=0; i < changes.entries.length; i++){
const file = changes.entries[i];
if (file.isFile){ //ファイルのみ処理
const subject = `新しいファイルが追加されました!`;
const body = `ファイル名: ${file.name}\nフォルダパス: ${folderPath}`;
MailApp.sendEmail({
to: 'YOUR_EMAIL_ADDRESS',
subject: subject,
body: body,
});
}
}
}
}
// 毎分実行するトリガーを作成する関数
function createTrigger() {
if (!ScriptApp.getProjectTriggers().find(t => t.getHandlerFunction() == 'myFunction')) {
ScriptApp.newTrigger('myFunction')
.timeBased()
.everyMinutes(1) // 1分おきに実行
.create();
}
}
// プロジェクト実行時にトリガーを作成
function installTrigger() {
createTrigger();
}
// 初期化時にトリガーを作成
installTrigger();
Step4: トリガーの設定
- スクリプトエディタのメニューから [編集] > [現在のプロジェクトのトリガー] を選択します。
- [トリガーを追加] をクリックします。
- 関数を選択 から `myFunction` を選択します。
- イベントのソースを選択 から `時間主導型` を選択し、 `分タイマー` -> `1分ごと` に設定します。
- [保存] をクリックします。承認を求められるので、指示に従って承認します。
まとめ:自動化で生まれた時間を、もっと創造的な仕事に
これで、Dropboxに新しいファイルが追加されるたびに、自動的にGmailで通知を受け取ることができるようになりました!面倒なファイルチェックの手間から解放され、より重要な仕事に集中できるようになります。次は、他のタスクの自動化にも挑戦してみませんか?例えば、Gmailで特定のラベルが付いたメールを自動的にスプレッドシートに記録する、といったこともGASで実現できます。可能性は無限大です!
免責事項:本記事で紹介している手順やコードは、執筆時点での情報に基づいています。各サービスの仕様変更により、同様の手順で動作しない可能性があります。また、本チュートリアルの実行によって生じたいかなる損害についても、当方は一切の責任を負いかねます。ご自身の責任において、バックアップを取るなどの対策の上、実行してください。