Slackに投稿した写真をGoogle Driveに自動保存する
最近、相方さんと連絡を取るのにSlackを使っています。チャンネルで話題を分けられるのが便利ですね。プライベートでSlackを使ってみた系の有名なエントリはこれです。
確かに、天気予報を朝に流したり、気になるワードに関連するニュースを流すチャンネルを作ったり、botと戯れたり、と好きな機能を開発できるのが楽しいです。(docomoの雑談APIを入れたhubotがかわいいです)
が、しかしですよ?SlackにはLINEでいうアルバム機能がないのです。
(ないですよね?あったら教えてください\(^o^)/)
と、いうわけでSlackのAPI群を使って、
- 自動でSlackのチャンネルから画像を取得
- Google Driveの共有フォルダに格納
- これを定期的に自動実行
することを目指します。
結果、一応できるにはできたのですが、スマートでない点がいくつか...
- サーバ化しているラズパイから定期実行(自前サーバが必要)
- ラズパイでGoogle driveを使うために課金($4.99)が必要
これらが許せる方は以下のエントリをどうぞ^^ ちなみに、Google APIを使えば課金なしでもラズパイからGoogle driveが使えるようですが、情報が少なくて挫折しましたorz また時間を見つけて検討します...!!
実行結果↓↓(実行してる感はない)各写真のidがファイル名に入っているので念のためモザイク^^
手順は以下の通りです。一番下にこの2から5を実現するためのPythonスクリプトがあります。
- Slack API tokenを入手
- Slack API file.listで画像ファイルを一覧を取得
- Slack API file.sharedPublicURLで公開用URLを入手
- 公開URLから入手した画像をGoogle driveに保存
- Slack API file.revokePublicURLで公開用URLを無効化