kikuの四苦Hack

ガジェットやプログラミングで遊ぶ

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スクリプトがあります。

  1. Slack API tokenを入手
  2. Slack API file.listで画像ファイルを一覧を取得
  3. Slack API file.sharedPublicURLで公開用URLを入手
  4. 公開URLから入手した画像をGoogle driveに保存
  5. Slack API file.revokePublicURLで公開用URLを無効化
続きを読む