#dropbox
Dropbox 内でファイルの変更があったら Slack に通知するようなものを作ろうと思って Dropbox Webhook API を使ってみた。
まずは App Console でアプリを作成する。
Permission type は 'Full Dropbox'
にする。 'App folder'
はそれぞれのアプリ専用のフォルダが作成され、その中で read/write できるっていうやつ、使ってないので多分だけど。
あとは Webhooks の項目にある Webhooks URLs に自分のアプリの URL を入れれば、検証用のリクエストが飛んでくる。ただまだコード書いてないのでその検証は通らないのでまだこの項目は入れなくて良い。
書くべきものはざっくり2つ。
challenge
という query string をそのまま返すやつ。( GET )Express でのサンプルコード。
const express = require("express");
const app = express();
app.get("/webhook", (req, res) => {
res.send(req.query.challenge);
});
app.post("/webhook", (req, res) => {
// ここにやりたいことを書く
res.send("");
});
app.listen(3000, () => console.log("Example app listening on port 3333"));
※ サーバーの環境などを作るのが面倒臭かったので、実際に Webhook URLs に登録しての動作確認をしたわけでない。
app.get("/webhook", (req, res) => {
res.send(req.query.challenge);
});
この部分で検証が通るようになるので、 Webhook URLs として登録すれば、以降 Dropbox 内でファイルの変更があるたびに、 POST でデータが飛んでくるようになる。
あとは POST のところでやりたいことをガリガリ書いていこう。
もう少し触ってみて、もっとわかってきたら改めて詳しく書くかもしれない。 Let’s enjoy :)