Slack のメッセージを自動削除 2021(失敗)

これまで Slack のメッセージを削除する方法について書いた。

Slack でチャンネル内のメッセージを一括削除する – with a Christian Wife
https://wacw.cf/2018/04/23/delete-all-messages-in-slack/

Slack でチャンネル内のメッセージを一括削除する2 – with a Christian Wife
https://wacw.cf/2018/05/29/delete-all-messages-in-slack-2/

GAS で Slack の投稿を自動削除 – with a Christian Wife
https://wacw.cf/2020/07/25/deleting-slack-messages-with-gas/

これまでやった方法では、非公開チャンネルは削除できなかったり、期間を指定できなかったり、チャンネル名が日本語だとうまくいかなかったりした。なので、改めてその方法を研究し直してみることにした。

やはり、自動化するなら GAS がいい。以下のサイトが参考になった。

【GAS, JavaScript, Slack API】古いポストから一定期間が過ぎたら自動削除するbotはGASが超簡単!|Arisa|note
https://note.com/frontendlifeinde/n/nfa99986f649d

しかし、最新の GAS はインターフェイスが変わったりして操作が変わっているので、まとめ直すことにした。

(1)適当な Google Spreadsheet を作成する。

そして A 列に削除対象のチャンネル名を記入する。日本語も可能だ。

(2)Google Spreadsheet の「Tools>Script editor」をクリックすると、Script editor が開く。

(3)「Libraries」右のプラスボタンをクリック。Script ID に以下の文字列を追加する。

1on93YOYfSmV92R5q59NpKmsyWIQD8qnoLYk-gkQBI92C58SPyA2x1-bq

「Look up」ボンタンをクリック。すると Version が 22 、Identifier が SlackApp と表示されるはずだ。「Add」をクリックする。

(4)Slack の Token を発行する。

古い方法:
Slack APIのTokenの取得・場所(Legacy tokens) – Qiita
https://qiita.com/ykhirao/items/0d6b9f4a0cc626884dbb

新しい方法:
Slack API 推奨Tokenについて – Qiita
https://qiita.com/ykhirao/items/3b19ee6a1458cfb4ba21

(5)ギアアイコンをクリックし、「Enable Chrome V8 runtime」のチェックを外す。

(6)以下のサイトのスクリプト(「GASでスクリプトを実装」の項目)をコピーし、GAS のエディタに貼り付ける。

【GAS, JavaScript, Slack API】古いポストから一定期間が過ぎたら自動削除するbotはGASが超簡単!|Arisa|note
https://note.com/frontendlifeinde/n/nfa99986f649d

その際、「var token = PropertiesService〜」の1行前に以下の行を追加する。

PropertiesService.getScriptProperties().setProperty("SLACK_API_TOKEN","[4で発行した Token の値]");

(7)「Run」ボタンで実行する。初回は認証の画面が出てくるはずなので、許可する。

これでうまく削除できるはずが、削除が実行されない。

(続く。)

参考:
Google Apps Scriptの新しいIDE、ライブラリ使用時の注意点(スクリプトIDも取得して掲載中) – Qiita
https://qiita.com/shikumiya_hata/items/a9f03f94ad1dc27b2f57

Google Apps Script – GASのエラーについての質問です。|teratail
https://teratail.com/questions/243391

Google Apps Scriptでのプロパティ設定方法は一番「ベタ」なやり方で
https://8bees.net/gas%E3%81%AE%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E8%A8%AD%E5%AE%9A

GASのProperties Serviceを使ってスクリプトのプロパティを読み書きをする – Qiita
https://qiita.com/unsoluble_sugar/items/ec5c935c4bfc2e06b246

GASのスクリプトプロパティをコードで設定する方法(setPropertyメソッド) | AutoWorker〜Google Apps Script(GAS)とSikuliで始める業務改善入門
https://auto-worker.com/blog/?p=2365