Pythonで作業効率化

【Python】SlackbotでSlackからファイルをダウンロードする

本記事はSlackbotでSlack上のファイルをダウンロードする方法について紹介するものです。

・Slackにファイルがアップロードされた時にダウンロードする方法
・Slackにアップロード済みのファイルをダウンロードさせる方法

の2つについて説明します。

通常サーバーからファイルをダウンロードするためにはサーバーに接続してFTPソフトなどを使用してダウンロードする必要があります。

この方法は毎回サーバーに接続する必要があるためやや手間です。

Slackbotにファイルをダウンロードする機能を実装しておけばSlackにファイルをアップロードするだけでサーバーにファイルを転送することができるようになります。

PythonでのSlackbot実装の基本については「SlackbotをPythonで作成しよう」をお読みください。

Slackからファイルをダウンロードする方法

SlackからのファイルダウンロードはWebサイトからのダウンロードと同様に「requests」ライブラリを使用できます。

SlackからダウンロードするためにはAPIトークンを「headers」の「Authorization」に指定する必要があります。

◆ファイルを保存する方法
codecsなどファイル制御ライブラリを使用して書き込めば保存できます。
openのオプションは「wb(バイナリーで書き込み)」を指定します。

codecsの記述例です。

ダウンロードクラスの実装例は以下の通りです。

◆ダウンロードクラスの実装例

Slackにファイルがアップロードされた時にダウンロードする方法

ファイルをSlackにアップロードしたタイミングで自動的にSlackbotにファイルをダウンロードする方法です。

◆実行例
アップロードしたファイルをダウンロード1

アップロードしたファイルをダウンロード2

Slackにアップロード済みのファイルをダウンロードさせる方法

アップロード済みのファイルをダウンロードするためにはファイルIDが必要です。

ファイルIDの取得手順

画像の詳細をクリックします。
画像の詳細

画像のURLの「files」以降の文字列をコピーします。
画像URL

実装手順

アップロード済みのファイルをダウンロードする方法は以下の通りです。
引数には先ほど調べたファイルIDを指定します。

◆実行例
ファイルをダウンロードする

以上、Slackからファイルをダウンロードする方法でした。

Slackbot+PythonまとめTOP>>Slackbotの作り方マニュアル〜Python編〜

こちらの記事も読まれています

  • この記事を書いた人

みやびの

住んでいるところ:神奈川県。 プログラミング歴は13年ほど。 ※プログラミングに関する無料相談・質問への回答は行っていません。

-Pythonで作業効率化
-

Copyright© みやびのどっとぴーわい , 2024 All Rights Reserved Powered by AFFINGER5.