Engine(GAS)で、移動ログ(ジオログ)を作ることにしました。いうのも、だいぶ前からSwarmのフィードがサービス終了してしまっていました。そのため、以前書いた記事のとおりにSwarmで非公開チェックインしても、IFTTTで引っかけられるトリガーがありません。楽に自分の足跡を記録しておけないか......と考えて、今回のようなものを作った次第です。全体の流れこんな感じのものを作ります。シートの内容をクリアするIFTTTのアプレット新たに2個用意します。スプレッドシートの中身はこんな感じです。1行目の見出しは、あらかじめ手入力しておきます。Webhook23時45分になったら動くようにしておきます。URLは、スクリプトをデプロイするときに発行されたものです(後述)。ここでMethodを「Get」にしておきます。スクリプトはじめてGASを触ってみました。個人的にJavaScriptに強烈な苦手意識があるので、おっかなびっくりやっています。先述した「location」シートの「ツール」メニューから「スクリプトエディタ」を開いてコードを書いていきます。sheet.appendRow(["date","latitude","longitude","address"]);}doGet関数から各処理を呼び出しています。「公開」メニューから「Webアプリケーションとして導入」を選んでデプロイすると、実行用のURLが発行されます。anonymous」に設定しておけば、IFTTTからでも実行可能になります。工夫していることはないのですが、データは配列に格納してから処理するようにして、シートへの読み書きを最小限にしています。当初は、各関数内で処理を完結させるために、地図画像をシートに一旦貼り付けて、それを再度読み込んでEvernoteへ送信、とやる予定でした。シートに貼り付けた画像(OverGridImageクラス)はBlob型に倒せないようなので、地図のBlob配列を関数の間で渡すようになっています。reverseGeocodeメソッドでは、例えば自宅などで試すと11個ぐらいの住所が取得できます。後半は「日本、(都道府県名)」のようにどんどん大雑把になってくるので、今回は前半3つを取得することにしました。hogehoge@m.evernote.comのところはEvernote投稿用アドレスです。実際のコードには自分のアカウントに設定されているアドレスを入れています。実行結果Evernoteに側の表示はこんな感じになりました。メール件名の末尾に+を入れて、既存ノート(他のライフログを書き込んでいるノート)に追記するようにしています。その他GASの環境内だけでも、日付をトリガーにしたスクリプトの実行が可能なようです。個人的にトリガー関係はすべてIFTTTに集めておきたいので、今回はこのような感じになりました。Geocoder(公式リファレンス)ブログの記事がお役に立ったら「いいね!」をぜひお願いします。