経緯
以前Googleスプレッドシートをプログラムから操作という記事を書いたのですが、その延長でなにか作ろうと思ってたところ
Excelで佐々木希を描く with pythonが面白かったのでそのスプレッドシート版を作ってみました。
結果
スプレッドシートなのでリアルタイムに反映されていくのが面白いですね。
普通ブラウザで同時編集していると誰が編集しているかがわかりますが、APIだとそれがわかりません。
そのためポルターガイストてきな悪戯も可能です (誰得
@このgifは実際の画面の描画速度ですがAPI自体はこんなに遅くないです。
ブラウザの描画が追いついていない感じです。
知見
1APIあたりの同時変更セル数
上記Gopherは横200✕縦20ピクセルずつで流しているのですがこれぐらいだと余裕で1APIで流せます。
つまり背景色変更だけなら4000セルの変更が1APIで可能。
また、横200✕縦100ピクセルで流すと
503: The service is currently unavailable.
を返すことがちらほら。
適度に分割したほうが無難です。
APIの連続実行
Goルーチンで並行でガンガン流すとnet/http: TLS handshake timeout
エラーがでてしまいました。
適度にスリープを入れたほうがよさげです。
上記Gopher描画は1APIごとに1秒ずつスリープ入れています。
行列幅の仕様
縦横共にサイズを2にしているのですが、これだと画像が横に伸びます(スプレッドシートの仕様)
すごくどうでもいい情報ですね。。
あとがき
スプレッドシートのAPIに興味を持った方はGoogleスプレッドシートをプログラムから操作を参考にしてみてください。
一応Gopher描画のソースを貼っときます。初Goプログラムなので💩だと思います。