Google Siteはどうにも放置気味っぽく、APIもよくわからないし他サービスとの連携がしづらくて困る。
なんとか更新情報流せないかなあと思ってたのですが、うまい方法が思いつかなかったので、荒業で何とかしました。
※追記
インターネットに公開しているのであれば、RSS取得により情報を流せるようですが、非公開サイト(ログインが必要)の場合の方法が思い浮かばなかったので、下記のような面倒なことをしています。
いい方法があれば知りたい…。
ざっくりと手順
1.Google Siteで「サイトの変更通知」をオンにする
2.IFTTTで、Gmailに通知されたメールの内容をSlackに通知する
こんな感じで1段噛ませます。
サイトの変更通知をオンに
Googleサイトの画面右上ぐらいに歯車のアイコンがあるので、それをクリックするとダイアログが出てきます。
その中から「サイトの変更通知を受け取る」をクリック
※「ページの変更通知」もありますが、こちらは今表示しているページのみの通知です。
特定のページのみ通知したい場合はそちらでやるといいかもしれません。
「サイトの変更通知を受け取らない」となっていた場合、既に通知が飛ぶ状態になってます。念のため。
IFTTTを使う
https://ifttt.com/ という、異なるサービス同士を連携させられるサービスがあります。
ざっくりとした説明だけど、細かくは見てください。
IFTTTのレシピとして、THENにGmail、THATにSlackを選択します。
Gmailの側では、「New mail in inbox from search」を選択。
検索条件に「from:(Siteの名前)」を使って、該当のSiteから通知されるメールのみが対象になるようにします。
※Siteの変更通知の差出人名はそのSiteの名前になるみたいです。
あとはSlackの側の設定で、通知したいChannelを選択。
Messageの項目に通知させたい内容を記載すればOK。
とりあえずSubject、必要に応じて本文を入れておけばいいかなと思います。
課題
とりあえず、これで通知させることはできなくはないのですが、以下が課題です。
- メールが減らせない
- 特定の人物にメールを飛ばすので人依存になるのも微妙。
- 本文を通知させても日本語がSlack側に表示されない
- 日本語部分が全部見えないのでわけのわからない内容が通知されます。
メールを飛ばすのはもう我慢するしかないのかな…と思ってますが、2つ目についてはどうにかしたいなあ、と。
GASでサイトの更新履歴ページが更新された時、更新内容をチェックして、PlainTextでメール通知させる、みたいなことできないかなあと。
せめて誰がどこを更新したかぐらいはわかるようにできればなあと思ってます。