毎朝薬を飲んだかよく忘れるので、Google Homeに「OK, Google。薬を飲んだ!」って言っておけば日時をGoogleスプレッドシートに記録しておいてくれるレシピをIFTTTに作りました。
IFTTTのGoogle Driveアプレットで「Add row to spreadsheet」を選べば指定したファイル名の表計算ファイルの一番下に行を足してくれますが、その内容として、日時を書き込んでくれるはずの[CreatedAt]というコマンドが効きませんでした。本来は、「Formatted row」欄に「CreatedAt ||| 朝の服用完了」などとしておけば、|||がセルの区切りを意味するので、1列目に日時、2列目に「朝の服用完了」という文字が入るはずなのですが、1列目が空のままです。
ググったところ英語の掲示板で同様の疑問が呈されていて、どうもバグというか現時点の使用っぽいです。MESHなど他のトリガから呼び出した時にはちゃんと動いていたので、Google Assistantアプレットのバグか相性なんでしょう。
で、Google Spreadsheet側でのワークアラウンド(バグ回避方法)としてスクリプトを使って「表が更新されたら一番下の1列目に日付を入れる」という動作をさせるやり方が紹介されていました。
ちょっと動画とメニューの位置が違っていたり(スクリプトエディターのトリガ関連の項目が動画では「Resources」ですが実際には「編集」にあったり)、初回にスクリプトを実行させる許可ダイアログが出たりと動画の通りにはいかなかったですが一応できましたので参考にご紹介。
あとコピペ用にコードも貼っておきます。
1 2 3 4 |
function addDate(e) { var lr = SpreadsheetApp.getActiveSheet().getLastRow(); SpreadsheetApp.getActiveSheet().getRange(lr, 1).setValue(new Date()); } |
地味に不便なので治るといいですね。