出張の度に問題になるのが、
どこでご飯を食べるか問題です。
グルメ情報サイトの存在が当たり前になった現代では、
出張の直前や出張中に、出張先周辺のグルメ情報を検索することでしょう。
出張の多い人は、一種のルーティンとなっているかもしれません。
毎回同じことをするのは少しスマートではないので、
この操作をGASを使って自動化してみました。
細かいコードはここでは載せず、
大まかな流れだけを示して、
GAS(Google Apps Script)の使い方の一つとして紹介します。
概要
普段の予定は、Google カレンダーに入力していて、
出張の場合は「出張名@場所」のような形で入力するようにしています。
GASでは、Google カレンダーから予定を受け取って、
出張の当日に、出張先周辺のグルメ情報をメールで通知するように、
スクリプトを組むことにします。
全体の大まかな流れとしては、
次のようになります。
上の手順を、毎日定期的に実行するようにし、
出張がない日は何もしないようにしておけば、
出張当日だけメールが届くようになります。
1. Google カレンダーからの情報取得
GASでは、Googleカレンダーと連携するための
「CalendarApp」というサービスが用意されています。
これを使って、簡単に当日の予定を取得できます。
2. 出張先の場所情報を抽出
Googleカレンダーでは「場所」を別欄で登録できますが、
面倒なのでイベントタイトルに「主張名@場所」の形で登録しています。
正規表現で抽出
このように決まったフォーマットで登録されていれば、
正規表現を使って"@"の後ろの文字を抽出すれば場所の抽出が可能です。
もちろん、ちゃんとGoogleカレンダーの「場所欄」で登録していれば、
そちらから取得すればOKです。
代表地点の座標取得
上で取得した「場所名」を元にグルメサイトで検索をかけても良いのですが、
「品川」のような地名だと、品川区を広く検索した結果、
かなり遠方の情報が返ってくるかもしれません。
また、「〇〇ビル」のような場所名だと、
そのビルに入っている飲食店しか検索されないかもしれません。
欲しいのは、出張先から一定の距離内にあるようなお店の情報ですから、
「場所」を座標で表した方が良さそうです。
GASでは、Googleマップと連携することで、
場所の名前からその場所の座標を取得することができます。
これは「Maps」サービス「Geocoder」を利用して簡単にできます。
ただし、一日の使用回数の上限が小さめに設定されているようなので、
そこだけ注意が必要です。
3. グルメサイトで検索する
グルメサイトでは、APIを提供しているサイトもあり、
それを活用すれば、簡単にグルメ情報が取得できます。
今回は「ぐるなび」のAPIを利用しました。
ぐるなびAPIのページから、
新規アカウントを発行し「APIキー」を取得すれば、
httpsのクエリを投げるだけで店舗情報をJSON形式で取得できます。
JSONファイルは、GASのJSON.parse()
でパースできます。
4. Gmailでグルメ情報を送信する
後は取得した情報を見やすく整形して、
Gmailで送信すればOKです。
Gmailの送信もGASの「MailApp」サービスを利用すれば簡単にできます。
これで、出張当日に下のようなグルメ情報のメールが届くようになります。
まとめ
GASを使えば、自分で出張先のグルメ情報を毎回調べなくても、
出張に合わせて、当日に周辺のグルメ情報をメールで通知することができることを紹介しました。
GASを使ってサービスを連携して、
一つの新しい価値を作り出す様子が感じられる例かなと思います。