slack-archiveを用いたSlackワークスペースの保存

Slackライクなインターフェースでログが確認できるので便利。色んな人に聞いてもらえるので、送った内容をそのままメモ程度。

https://github.com/felixrieseberg/slack-archive
これをダウンロードorクローンして作ります。Almalinuxを使ってるが他のディストリビューションでも大体同じかと思われる。macOSも然りだがWinは知らない。

ここにアクセスし、Create New Appを押します。
そのあと、From scratchを選択してください。

②左のメニューからOath & Permissionsを選択。
開いたページの下の方にあるRedirect URLsに以下のURLを貼り付け、Save URLsを押します。
https://notarealurl.com/
※別に実在しないものならなんでも良いみたいですが例に倣っています。

③Scopeを設定します。Redirect URLsの下に行くと、Scopeがあります。これの、
User Token Scopesの方に以下を追加してください。

  • channels:history
  • channels:read
  • files:read
  • groups:history
  • groups:read
  • im:history
  • im:read
  • mpim:history
  • mpim:read
  • remote_files:read
  • users:read

④Basic Informationに戻ってください。下の方にこれから使うClient IDとClient Secretが生成されています。これからのプロセスは、時間がかかるかもしれませんが気長に待ちます。

⑤以下のURLをブラウザに入力してください。

https://{your-team-name}.slack.com/oauth/authorize?client_id={your-client-id}&scope=client

your-team-name:SlackのURLに使われている名前です。このワークスペースなら、kanekolab
your-client-id:上で取得したClient IDです。
これを開くと、アプリをインストールするか聞かれるので、インストールしてください。
インストール後、開いたURLが以下の形になっています。

https://notarealurl.com/?code={code}&state=

このときの{code}内の文字列をコピーしてメモ帳などにおいておきます。

⑥トークンの取得

https://{your-team-name}.slack.com/api/oauth.access?client_id={your-client-id}&client_secret={your-client-secret}&code={code}"

上の規則通りにURLを入力し、ブラウザで開きます。
your-client-secret:先程のBasic InformationにあったClient Secretです。URLを開いて得られるものは
{“ok”:true,”access_token”:”” hogehogefugafuga}
です。
大事なのは、このJSONのOKがTrueになっていたり、他にWarningが出ていないことです。
出ていなければ、access_tokenが得られていると思うので、これをメモ帳などに貼り付けておきます。

⑦slack-archiveのディレクトリに行き以下のコマンドを入力します(おそらくNodejsはすでに入っていると思いますが、入っていない場合はdnfかyumかでインストールします)

npx slack-archive

このあとトークンを求められるので貼り付けてEnterを押します。