5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Slackのfiles.upload APIを使ってファイルを簡単に連携する

Posted at

AWS等のクラウドサービスでサーバ内で作業をしていて、ファイルをローカルに落としたい、なんてことありませんか?
セキュアなファイルを取り扱うなら考えることは多くなるかと思いますが、雑に扱っていいものは手軽に操作したいですよね。

ということで、slackを使って簡単にファイルを連携する方法を自分のために書き残します。

準備するもの

  • Slackのワークスペースおよび投稿先のチャンネル
  • 適当なサーバ(curlコマンドが使えるもの)
  • 「楽をしたいんだ」という強い気持ち

Slackのアプリ作成

先ずは、Slackでアプリを作成します。

つぎ、 https://api.slack.com/ にアクセスします。
2020-01-27_111413.png
「Start Building」を押下します。

2020-01-27_111924.png
「Create a Slack App」のダイアログが出るので、アプリ名とワークスペースを指定します。
設定出来たら「Create App」を押下します。

2020-01-27_112029.png
アプリが出来上がったら、「Permissions」を押下します。

「OAuth & Permissions」の画面に遷移するので、下の方にある「Scopes」に移動します。
2020-01-27_112148.png
「Add an OAuth Scope」を押下し「files:write」を選択します。

2020-01-27_112253.png
Scopeの追加が出来たら上のほうに移動し、「Install App to Workspace」を押下します。

2020-01-27_112325.png
確認を求められるので内容を確認して許可してください。

許可が完了したら「OAuth & Permissions」の画面に戻ってきます。
2020-01-27_112424.png
「Bot User OAuth Access Token」が表示されていると思うので、これを控えておきます。

Slack API側の設定はこれで終わりです。

Slackにファイルアップロードしてみる

APIの使い方は以下のURLを参考にしてください。
https://api.slack.com/methods/files.upload

curl -F file=@dramacat.gif -F "initial_comment=Shakes the cat" -F channels=C024BE91L,D032AC32T -H "Authorization: Bearer xoxa-xxxxxxxxx-xxxx" https://slack.com/api/files.upload

公式のサンプルはこのように書かれています。

こちら、必要な情報は最低限は以下の3つです。

  • file : アップロードするファイル
  • channels : アップロード先のチャンネル(チャンネル名でもIDでもいい)
  • Authorization : 先ほど取得したトークン(xoxb-… のアレ)

この3つです。

curl -F file=@./現場猫.jpg -F channels=#ファイル置き場 -H "Authorization: Bearer xoxb-xxxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx" https://slack.com/api/files.upload

このようにcurlのパラメータを指定してみました。
結果は以下の通り。

2020-01-27_113442.png
アップロードできました。

これで、共有したいファイルはコマンド叩けばいつでも共有できますね。

私からは、以上です。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?