DEV Community

kaede
kaede

Posted on • Updated on

Slack のメッセージを定期的に Google Spread sheet に定期的に保存する

参考

https://best-cloud.jp/slack-message-log-auto-save-gas/

Slack WorkSpace を作る

https://api.slack.com/

まずは Slack API を試す専用のワークスペースを作る。

今回は kaede-ws

という id で Slack WorkSpace を作成


api.slack.com で create app

https://api.slack.com/apps

次は API アクセスの為のアプリを作る。

アプリ名を saver にして

先ほど作った kaede-ws のワークスペースを選択

これで create app をする


Features/OAuth/Scopes でチャンネルなどの読み書きの許可を設定する

次はそのアプリに権限を付与する。
チャンネルに書き込みたい。
そのために

Channels: の history, read,
files: の read,
users: の read,

これらを許可する設定にする

そして install to workspace ボタンを押す

すると User OAuth Token 発行される。
この UUID を使ってリクエストする。

xoxp-uuid の形になる。


Gdrive で専用フォルダを作成して ID を控える

次は Slack API を叩いた結果を保存するための Google Drive 。

Gdrive で SlackLog/ フォルダを作成

フォルダの UUID

を控える


script.google.com で プロジェクトを作る

次は Slack API を叩くロジックを書いて実行するところ。

GAS を使う。

https://script.google.com/home

ここから New Project を選ぶ

すると Code.gs が開き

function myFunction() {

}
Enter fullscreen mode Exit fullscreen mode

と書いてあるのが見える

これを消して

ここに記事のテキストをコピペする...

save して run する

Google hasn’t verified this app
The app is requesting access to sensitive info in your Google Account. Until the developer (kaede0902js@gmail.com) verifies this app with Google, you shouldn't use it.
Enter fullscreen mode Exit fullscreen mode

するとこのエラーが出る

https://www.kagua.biz/tool/jisaku/gas-authentication-not-pass.html

この記事によると、左下のリンクをクリックすると進行できるとある。

Image description

Advanced のテキストをクリックすると

Image description

安全ではないページへ移動が出てきた

Image description

そして認証ができる

そして実行すると、Sheet 1 には何もないが、チャンネルごとにシートが生成され、

Image description

Image description

内容が入っている


定期的に実行されるようにする。

目覚まし時計のアイコンから

Every Minute で 毎分実行するようにする

Image description

後から書いたテキストが上書き保存されているのを確認した

Jenkins でシェルを cron するより手軽にみえる。

Top comments (0)