あきらぼ

テック系ブログ

IFTTTでのスプレッドシート書き込みが2000行までしかできない件

こんにちは。

先日スマート家電リモコンを使った自室の温度・湿度モニターを作成したのですが、一月ほど前から更新されていないことに気が付きました。



前回の温度湿度モニター作成はこちら。
aki-lab.hatenadiary.com

原因としてはIFTTTによるGoogleスプレッドシートの書き込みが2000行が最大となっているからでした。
そのため、参照しているスプレッドシートが更新されずにモニターも停止していました。

実際に保存されているGoogleドライブを見に行ってみると、自動でもう一つファイルが作成されていました。

2000行を超えると自動で次のファイルを作成するようです。

APIの仕様等考えると、ファイル共有設定など複数のスプレッドシートを扱うのは煩雑になってしまします。

そこで、温湿度は1時間毎に追記されるので、それに合わせて自動で先頭行を減らすようにしようと思います。

2000行であっても3カ月弱のデータは確認できるので、私の用途的には十分かなと。

そこで今回はスプレッドシートのマクロ機能を使用しました。

まず、対象の2000行以内に抑えたいスプレッドシートを開きます。
そこで拡張機能からマクロを記録を選択します。

そこで記録が開始されたら先頭行を削除します。

記録を終了して、先頭行の削除のマクロとして保存します。

次に、拡張機能からマクロを管理を選択します。

次に右の拡張オプションからスクリプトを編集を選択します。

すると記録されたマクロがスクリプトとして表示されているので、左のメニューからトリガーを選択します。

そこで新しいトリガーを作成します。

そこで、先頭行削除のトリガーを定義します。

2000行以内に抑えるためには

といった方法があります。

今回はIFTTTがAPIでアクセスした際も編集・変更としてマクロがじっこうされるか分からなかったので、一時間おきに実行する仕様としました。

あとは保存すれば完了です。

一時間おきに先頭行の削除・IFTTTによる温湿度情報の追記が行われるので2000行より増えることはありません。

当面の間はこの仕様で様子を見てみようと思います。

追記:上記トリガー方法は変更時にすれば問題なく2000行に到達しないようになります。