Dropbox にスクリーンショットを保存する Gyazo サーバ
便利なスクリーンショット共有ツール Gyazo ですが、運用のためか広告が大量に貼られ始めたので、自分でGyazoサーバを立てることにしました。
Gyazoのソースコードはクライアント、サーバスクリプトともにgyazo/Gyazo - GitHubにあるのですぐ立てることができるのですが、そのまま使っても面白くないので、スクリーンショットをDropboxに保存するようにして、ついでにsinatraで書き換えました。
https://github.com/superbrothers/gyazo-dropbox
流れは、
- クライアントでキャプチャ
- スクリーンショットをサーバへ送信
- サーバでリクエストを受信
- DropboxのAppフォルダにスクリーンショットを保存
- Dropboxからスクリーンショットの共有URLを取得
- 共有URLを返却
となっています。
Dropboxの認証にOAuthを利用するため、Dropbox Appを作成してApp Key, App Secretの取得、Access Token, Access Secretの取得が必要です。
サーバの設定
Gyazo App作成、App Key, App Secret取得
https://www.dropbox.com/developers/apps
「Create an App」からアプリを作成して、App key, App Secretを取得してください。
クライアントの設定
Gyazo.app/Contents/Resources/script を編集してポスト先を変更します。
41行目、42行目のHOSTとCGIの定数を変更します。HOSTをサーバを置くホスト名、CGIを「/」に変更してください。
HOST = 'サーバを置くホスト名' CGI = '/'