GASでサイボウズ ガルーンの予定をSlackに通知する

今勤めている会社では、スケジューラーとしてサイボウズのガルーンを利用しています。
サイボウズにはKUNAIという公式のスマホアプリがあり、それが予定の更新や予定のn分前のリマインドを通知してくれます。
しかし、仕事中はスマホの通知には気づきづらく、それなりの頻度でガルーンをチェックする必要があります。

ガルーンが公式にブラウザ通知やSlack連携をサポートしてくれれば嬉しいんですがそんな機能もいまだなく、 またガルーンが提供するAPIはいままでSOAP APIしかなく、SOAPは扱いづらいためずっと自作も避けていました。

そんななか、いつのまにかガルーンのAPIREST APIが追加されていたので、予定のn分前になったらSlackに通知するGAS(Google Apps Script)を書いてみました。

Garoon Slack Notificator

github.com

使い方

使い方はGitHub Pagesで用意してみました。

takaya1992.com

サイボウズ ガルーンのREST APIを使ってみて

APIのユーザー認証方法がイケてないなと思いました。

developer.cybozu.io

ドキュメントを参照すると「パスワード認証」と「セッション認証」が用意されており、「パスワード認証」はIDパスワードを、:で連結した文字列をBASE64エンコードしたものをX-Cybozu-Authorizationヘッダーに乗せて、リクエストを送ります。 この「パスワード認証」のトークンの作り方はBASIC認証とまったく同じで、ただHTTPヘッダーが違うだけです。 生のIDとパスワードを扱うのはつらいので、リジェネレートしやすい別のAPIトークンを発行できたりとか、OAuthできるようになるととても嬉しいなと思います。