Fusion Tables importRows を使用するサンプル

GASから、Fusion Tables を使用してると、すぐに何かの上限にひっかかるようでろくにinsertできない。
そこで、https://developers.google.com/fusiontables/docs/v1/reference/table/importRows を使用することにする。

前提条件
  • Fusion Tables API を使用できるように設定しておく
  • Fusion Tables Table のカラムは id列、txt列、date列の3つとする(並び順もこの通り)
var table_id = "xxxxxx";

var row1 = '"1", "テキスト", "2015/2/1"';
var row2 = '"2", "コンマ,はエスケープの必要無し", "2015/2/3"';
var row3 = '"3", "ダブルクォーテーション[""]を入れたい場合はエスケープする", "2015/2/2"';
var rows = [row1, row2, row3].join("\n");

var blob = Utilities.newBlob(rows, "application/octet-stream");
var result = FusionTables.Table.importRows(table_id, blob);

見ての通り、コンマ区切りで1行分のデータを作り、改行で繋げれば一気に3行分のデータをinsertできる。
1回のクエリで上限は100MBらしいが、エスケープしないといけないし、日本語は3バイトだし、実際には10MB文字数分ぐらいが上限になると思う。(それでも相当な分量だけど)