毎日のファイルチェック、Dropboxを開いて確認していませんか?もし、新しいファイルが追加されたらすぐに通知を受け取れたら、業務効率が大幅にアップしませんか?
この記事では、Dropboxの指定フォルダに新しいファイルが追加された際に、Gmailに自動で通知メールを送信するシステムを、プログラミング初心者の方でも簡単に構築できるよう、ステップ・バイ・ステップで解説します。コピペで使えるコードもご用意しましたので、ぜひお試しください!
今回作成する自動化の全体像
graph TD A[Dropboxにファイルが追加される] --> B{ファイルの変更を検知} B -- 変更あり --> C[Gmailに通知メールを送信] B -- 変更なし --> D[処理終了]
ステップ0:事前準備
- Googleアカウント(GmailとGoogle Apps Scriptを利用するため)
- Dropboxアカウント(監視対象のフォルダへのアクセス権限が必要)
- 監視対象のDropboxフォルダを特定しておくこと
- Dropbox APIのアプリキーとアプリシークレットを取得
ステップ・バイ・ステップ構築ガイド
Step1:Google Apps Scriptの準備
- Google スプレッドシートを開きます。
- メニューバーから「ツール」>「スクリプトエディタ」を選択します。
- 新しいプロジェクトが作成されます。
Step2:Dropbox APIの設定
- Dropbox デベロッパーサイトでアプリを新規作成し、アプリキーとアプリシークレットを取得します。(Dropbox API v2を使用)
- 取得したアプリキーとアプリシークレットを、Step4で紹介するコード内の `dropboxApiKey` と `dropboxApiSecret` にそれぞれ貼り付けます。
Step3: Gmail APIの設定
- Google Cloud Platform (GCP) コンソールにアクセスし、プロジェクトを作成または既存のプロジェクトを選択します。
- APIとサービスで”Gmail API”を検索し、有効にします。
- OAuth同意画面を設定します。
Step4:スクリプトの記述
以下のコードをスクリプトエディタにコピー&ペーストします。 `dropboxApiKey`、`dropboxApiSecret`、`dropboxFolderPath`、`your_email@example.com` の部分を、ご自身の情報に置き換えてください。
function checkDropboxAndNotify() {
// Dropbox APIキーとシークレット
const dropboxApiKey = "YOUR_DROPBOX_API_KEY";
const dropboxApiSecret = "YOUR_DROPBOX_API_SECRET";
// 監視対象のDropboxフォルダパス
const dropboxFolderPath = "/your/folder/path";
// Dropbox API v2 を使用したファイルリスト取得
// (簡略化のため、実際のAPI呼び出しやエラー処理は省略)
// 実際には、前回のチェック時以降に変更があったファイルのみを検出する処理が必要です。
const fileList = getDropboxFiles(dropboxApiKey, dropboxApiSecret, dropboxFolderPath);
if (fileList && fileList.length > 0) { // 新しいファイルがある場合
MailApp.sendEmail({
to: "your_email@example.com",
subject: "新しいファイルがDropboxに追加されました!",
body: `Dropboxのフォルダ(${dropboxFolderPath})に新しいファイルが追加されました:\n${fileList.join('\n')}`
});
}
}
// Dropbox API v2 のファイルリスト取得関数(簡略化版)
function getDropboxFiles(apiKey, apiSecret, folderPath) {
// 実際には、fetch APIなどを用いてDropbox APIを呼び出し、
// ファイルリストを取得する処理を実装する必要があります。
// この例では、簡略化のためダミーデータを返します。
return ["file1.txt", "file2.pdf"]; // ダミーデータ
}
function createTrigger() {
ScriptApp.newTrigger('checkDropboxAndNotify')
.timeBased()
.everyMinutes(5)
.create();
}
Step5:トリガーの設定
- スクリプトエディタの左側のメニューから「トリガー」を選択します。
- 「トリガーを追加」をクリックします。
- 「関数を選択」で `checkDropboxAndNotify` を選択します。
- 「イベントのソース」で「時間主導型」を選択します。
- 「時間ベースのトリガーの種類」で「分タイマー」を選択し、「間隔」を5分などに設定します。(Dropbox APIの利用制限に注意)
- 「保存」をクリックします。
まとめ:自動化で生まれた時間を、もっと創造的な仕事に
これで、Dropboxのフォルダに新しいファイルが追加されたら、自動的にGmailで通知が受け取れるようになりました!手動でチェックする手間が省け、業務効率が格段に向上するはずです。生まれた時間を、より創造的な仕事に活かしましょう。次は、他のアプリとの連携や、より高度な通知設定に挑戦してみませんか?
免責事項:本記事で紹介している手順やコードは、執筆時点での情報に基づいています。各サービスの仕様変更により、同様の手順で動作しない可能性があります。また、本チュートリアルの実行によって生じたいかなる損害についても、当方は一切の責任を負いかねます。ご自身の責任において、バックアップを取るなどの対策の上、実行してください。