本記事は、slackerライブラリでSlackからファイルをダウンロードする方法について紹介する記事です。

具体的には、

・PythonでSlackからファイルをダウンロードする方法
・PythonでのSlackからのファイルダウンロード実装例

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

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

SlackからPythonでファイルをダウンロードする方法はいくつかありますが、今回は「requests」ライブラリを使用してダウンロードする方法を紹介します。

requestsライブラリでSlackからファイルをダウンロードする

SlackからファイルをダウンロードするためにはAPIトークンの取得が必要です。

手順は以下の通りです。

1.Slackのappページに移動
2.Hubotで検索
3.Hubotをインストールする
4.Hubotの詳細を開いてAPIトークンの欄を確認する

手順の4で確認したAPIトークンを実装の時に使用します。

詳細の方法については「SlackbotのAPIトークンを取得する(動画あり)〜Hubotのインストール〜」をお読みください。

取得したAPIトークンは「headers」の「Authorization」に指定します。

続いてダウンロードしたファイルのURLを調べましょう。
Slackで対象ファイルのメニューを開いて「ファイルのリンクをコピー」をクリックすることでURLをコピーできます。

1.ファイルのその他をクリック
SlackファイルのURL1

2.「ファイルのリンクをコピー」をクリック
SlackファイルURL2

◆記述例

ダウンロードしたファイルを保存する

requestライブラリだけではダウンロードしたファイルを保存できません。
ファイルを保存するためには、codecsなどのファイル制御ライブラリでファイルに書き込む必要があります。

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

PythonでのSlackからのファイルダウンロード実装例

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

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

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

関連記事>>【Python】slackerでファイルをアップロードする

Pythonでできること・勉強方法まとめ