「スクリプトを書かずにSlackのメッセージを定期的に保存したい」
「考えるのが面倒なので、コピペでSlackバックアップの仕組みを作りたい」
この記事はそんな方へ向けて書いています。
今回は、完全にコピペとクリックだけで自動バックアップ環境が作れるように配慮しました。
5分程度でメッセージの保存設定が可能です。一度試してみましょう。
目次
Slackのレガシートークンは使用不可能になりました。
2021年版のSlack APIを使った方法は以下を参照してください。
-
【2021最新版】SlackメッセージログをSlack APIとGASで自動保存する方法【コピペOK】
「以前までできていたSlackのメッセージログ保存ができなくなった」 「Slackでメッセージを保存したい」 この記事は、そんな方へ向けて書いています。 先取り結論 Slackレガシートークンは使えな ...
Slack(スラック)のメッセージ上限は10,000件まで
フリープランでは、Slackのメッセージ上限は10,000件まで。
それを超えると削除されていくため、昔のファイルや、メッセージを検索することができません。
今回は、Slackのメッセージログを簡単に保存し、誰でもバックアップを取れる方法を紹介します。
SpreadsheetもGASも、プログラムもAPIも理解しなくて問題ありません。
全てコピペできるように丁寧に解説したので、安心してくださいね。考える必要もありません。記事自体は長く見えますが、画像が多いだけです。
作業自体は5分もかかりません。
最初に、このシステムのルールだけ確認しておきましょう。
- パブリックチャンネルのみ
- DM、プライベートチャンネルは保存できない
- 既に削除されたメッセージはログに残せない
このように、自動で年月ごとのフォルダが生成され、チャンネルごとにシートが作成されます。
このバックアップを行うことで、今後「メッセージが消えてしまった!」なんてことは無くなります。
既に削除されたメッセージも復活・閲覧したい場合は、以下の記事を参考にしてください。
Slackスクリプトの作成(コピペ)
プログラムの作成はGAS(GoogleAppsScript)で行います。
先程もお伝えしましたが、プログラムを理解してなくても、コピー&ペーストで実現できるので安心してくださいね。
まずは、上記サイトにアクセスしてください。
GoogleAppsScriptの画面が開かれます。
「新しいプロジェクト」をクリックしてください。
こちらがプロジェクト作成画面です。
まずは、画面に書いてあるテキストを全て削除しましょう。
このように、コードの欄に何も書かれて無い状態にしてください。
さらに、「無題のプロジェクト」と書かれている部分(タイトル部分です)をクリックして、このプロジェクトのタイトルを設定しましょう。
「slack-message-log」というタイトルにしてみました。
あとは簡単。コピペ作業のみです。
以下のサイトにアクセスしてください。
難しい文字列がたくさん並んでいますが、書いてある内容は関係ありません。
1行目から最終行まで、ずらりとコピーしてください。
そのまま、先程のGoogleAppsScriptに貼り付けましょう。
これで9割型、Slack自動保存のベースが組み上がりました。
トークンの作成、登録(クリック、コピペ)
GASはそのままにしておいて、新しいタブでトークン発行作業に入りましょう。
まずは、Slack公式サイトのトークン発行ページにアクセスします。
ページ中程に「ワークスペース」「ユーザー」「トークン」が並んでいるエリアがあります。
右側の「Create token」をクリックしてください。
トークンの初回発行時には、パスワードが求められます。
Slackログイン用のパスワードを入力してください。
トークン発行画面に戻ります。
もう一度、「Create token」をクリックしてください。すると、「Token」の列に、半角文字列が出現します。(これがトークンです)
これをコピーしてください。
トークンがコピーされている状態で、GASを開きましょう。
ファイルから、プロジェクトのプロパティへと進みます。
さらに、「スクリプトのプロパティ」をクリック。
「行を追加」をクリック。
プロパティの欄には「slack_api_token」、値の欄には、先程コピーしたトークンをコピペしましょう。
最後に「保存」をクリックして、トークンの登録を完了します。
これで、プログラムの作成は完了しました。
Slackプログラムの実行(クリックのみ)
それでは、早速プログラムを実行してみましょう。
実行→関数を実行→StoreLogDeltaとすすみます。
初回実行時は、プログラム実行の許可を求められます。
今作成したプログラム(外部のプログラム)は、自身のSpreadsheetやGoogleDriveに影響を与えます。セキュリティの観点からこの警告が用意されていますが、何も怖いことはありません。
よくわからない場合でも、ひとまず指示通りにクリックしていれば問題無く進めます。
まずは、「許可を確認」をクリックしてください。
そして、自分のアカウントをクリック。
このアプリは確認されていません、と警告が出ます。
「詳細」をクリックしましょう。
さらに、「slack-message-log(安全ではないページ)に移動」をクリックしてください。
もう少しです!
右下の「許可」をクリックしましょう。
これで、無事プログラムが実行されているはずです。
プログラムが実行されたか確認するために、GoogleDriveにアクセスしてください。
「slack Logs」というフォルダが見つかれば、実行が成功しています。
※見つからない場合は、もう一度実行してみましょう。
念の為、SlackLogsの中身も確認してみましょう。
Slackのチーム名のフォルダが格納されていると思います。
Spreadsheetが確認できました。ファイル名が年月のSpreadsheetが作成されます。
チャンネルごとにシートが作られ、会話のログが記録されています。
ここで、改めてルールを確認しておきましょう。
- パブリックチャンネルのみ
- DM、プライベートチャンネルは保存できない
- 既に削除されたメッセージはログに残せない
Slackプログラム定期実行の設定(クリックのみ)
最後に、このプログラムの定期的な実行設定を行います。
GASの画面に移動したら、「編集>現在のプロジェクトのトリガー」と進みます。
トリガーとは、定期実行、イベント実行に関する条件のことです。
上記のようなページに移動するので、「トリガーを追加」をクリックしましょう。
こちらがトリガー設定画面です。
そのままでも良いのですが、時間の感覚について「12時間おき」に設定してみました。
問題なければ、右下の「保存」をクリックしましょう。
トリガーのページで、追加したトリガーが確認できれば成功です。
これで、今後は12時間おきにプログラムが自動的に動きます。勝手にSlackのログを取得し、スプレッドシートにまとめてくれるので助かりますね。
削除済メッセージも復活・閲覧したい場合は、以下の記事を参考にしてください。