スプレッドシート側のデータや設定によって、Google Visualization APIで取得したデータの形式が異なるケースがあったので、試したパターンを書き残しておきます。
CASE1のようにすべてのセルを埋めておけば問題ないですが、空のセルがあるとresponseが変わってくるようです。
CASE1
すべてのセルが埋まっている場合は1行目がcolsに入ってきました。
(表示形式はABCを自動、Dを日付に設定)
response/*O_o*/ google.visualization.Query.setResponse({ "version": "0.6", "reqId": "0", "status": "ok", "sig": "705247912", "table": { "cols": [{ "id": "A", "label": "midashi", "type": "string" }, { "id": "B", "label": "description", "type": "string" }, { "id": "C", "label": "tags", "type": "string" }, { "id": "D", "label": "created", "type": "date", "pattern": "yyyy/mm/dd" }, { "id": "E", "label": "", "type": "string" }], "rows": [{ "c": [{ "v": "見出し1" }, { "v": "説明1" }, { "v": "タグ1" }, { "v": "Date(2020,2,20)", "f": "2020/03/20" }, { "v": null }] }, { "c": [{ "v": "見出し2" }, { "v": "説明2" }, { "v": "タグ2" }, { "v": "Date(2020,2,21)", "f": "2020/03/21" }, { "v": null }] }, { "c": [{ "v": "見出し3" }, { "v": "説明3" }, { "v": "タグ3" }, { "v": "Date(2020,2,22)", "f": "2020/03/22" }, { "v": null }] }], "parsedNumHeaders": 0 } }); |
CASE2
特定の列(D列)に1つだけ値が入っている場合はcolsに一行目以降の値も入ってきました。
(表示形式はABCを自動、Dを日付に設定)
response/*O_o*/ google.visualization.Query.setResponse({ "version": "0.6", "reqId": "0", "status": "ok", "sig": "131156031", "table": { "cols": [{ "id": "A", "label": "midashi 見出し1 見出し2", "type": "string" }, { "id": "B", "label": "description 説明1 説明2", "type": "string" }, { "id": "C", "label": "tags タグ1 タグ2", "type": "string" }, { "id": "D", "label": "created ", "type": "date", "pattern": "yyyy/mm/dd" }, { "id": "E", "label": "", "type": "string" }], "rows": [{ "c": [{ "v": "見出し3" }, { "v": "説明3" }, { "v": "タグ3" }, { "v": "Date(2020,2,22)", "f": "2020/03/22" }, { "v": null }] }], "parsedNumHeaders": 0 } }); |
CASE3
データ範囲の表示形式をすべて「書式なしテキスト」にした場合はcolsに値は入らず、1行目からrowsに入ってきました。
response/*O_o*/ google.visualization.Query.setResponse({ "version": "0.6", "reqId": "0", "status": "ok", "sig": "703682130", "table": { "cols": [{ "id": "A", "label": "", "type": "string" }, { "id": "B", "label": "", "type": "string" }, { "id": "C", "label": "", "type": "string" }, { "id": "D", "label": "", "type": "string" }, { "id": "E", "label": "", "type": "string" }], "rows": [{ "c": [{ "v": "midashi" }, { "v": "description" }, { "v": "tags" }, { "v": "created" }, { "v": null }] }, { "c": [{ "v": "見出し1" }, { "v": "説明1" }, { "v": "タグ1" }, null, { "v": null }] }, { "c": [{ "v": "見出し2" }, { "v": "説明2" }, { "v": "タグ2" }, null, { "v": null }] }, { "c": [{ "v": "見出し3" }, { "v": "説明3" }, { "v": "タグ3" }, { "v": "43912" }, { "v": null }] }], "parsedNumHeaders": 0 } }); |
CASE4
D列の表示形式を日付に戻すと、CASE2と同じくclosに1行目以外の値も入ってきました。
response/*O_o*/ google.visualization.Query.setResponse({ "version": "0.6", "reqId": "0", "status": "ok", "sig": "393464895", "table": { "cols": [{ "id": "A", "label": "midashi 見出し1 見出し2", "type": "string" }, { "id": "B", "label": "description 説明1 説明2", "type": "string" }, { "id": "C", "label": "tags タグ1 タグ2", "type": "string" }, { "id": "D", "label": "created ", "type": "date", "pattern": "yyyy/MM/dd" }, { "id": "E", "label": "", "type": "string" }], "rows": [{ "c": [{ "v": "見出し3" }, { "v": "説明3" }, { "v": "タグ3" }, { "v": "Date(2020,2,22)", "f": "2020/03/22" }, { "v": null }] }], "parsedNumHeaders": 0 } }); |
CASE5
日付が入るD列に日付以外の値が入っていると、CASE2と同じくclosに1行目以外の値も入ってきました。例では日付の列に-を入れています。
response/*O_o*/ google.visualization.Query.setResponse({ "version": "0.6", "reqId": "0", "status": "ok", "sig": "374075250", "table": { "cols": [{ "id": "A", "label": "midashi 見出し1 見出し2", "type": "string" }, { "id": "B", "label": "description 説明1 説明2", "type": "string" }, { "id": "C", "label": "tags タグ1 タグ2", "type": "string" }, { "id": "D", "label": "created - -", "type": "date", "pattern": "yyyy/MM/dd" }, { "id": "E", "label": "", "type": "string" }], "rows": [{ "c": [{ "v": "見出し3" }, { "v": "説明3" }, { "v": "タグ3" }, { "v": "Date(2020,2,21)", "f": "2020/03/21" }, { "v": null }] }], "parsedNumHeaders": 0 } }); |
参考
Google Visualization API Reference
https://developers.google.com/chart/interactive/docs/reference