Pythonサンプルコード集

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

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

具体的には以下の通り。

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

「slacker」ライブラリではファイルのダウンロードができないようなので、requestライブラリでの実装方法を紹介します。

Python+requestで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+requestのファイルダウンロード実装例

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

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

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

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

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

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

  • この記事を書いた人
miyabikno

miyabikno

住んでいるところ:神奈川県。 SIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。フリーランス:2年。現在はブログをメインに活動しています。

-Pythonサンプルコード集

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