GASでサイボウズ ガルーンの予定をSlackに通知する
今勤めている会社では、スケジューラーとしてサイボウズのガルーンを利用しています。
サイボウズにはKUNAIという公式のスマホアプリがあり、それが予定の更新や予定のn分前のリマインドを通知してくれます。
しかし、仕事中はスマホの通知には気づきづらく、それなりの頻度でガルーンをチェックする必要があります。
ガルーンが公式にブラウザ通知やSlack連携をサポートしてくれれば嬉しいんですがそんな機能もいまだなく、 またガルーンが提供するAPIはいままでSOAP APIしかなく、SOAPは扱いづらいためずっと自作も避けていました。
そんななか、いつのまにかガルーンのAPIにREST APIが追加されていたので、予定のn分前になったらSlackに通知するGAS(Google Apps Script)を書いてみました。
Garoon Slack Notificator
使い方
使い方はGitHub Pagesで用意してみました。
サイボウズ ガルーンのREST APIを使ってみて
APIのユーザー認証方法がイケてないなと思いました。
ドキュメントを参照すると「パスワード認証」と「セッション認証」が用意されており、「パスワード認証」はID
とパスワード
を、:
で連結した文字列をBASE64エンコードしたものをX-Cybozu-Authorization
ヘッダーに乗せて、リクエストを送ります。
この「パスワード認証」のトークンの作り方はBASIC認証とまったく同じで、ただHTTPヘッダーが違うだけです。
生のIDとパスワードを扱うのはつらいので、リジェネレートしやすい別のAPIトークンを発行できたりとか、OAuthできるようになるととても嬉しいなと思います。