スプレッドシート側のデータや設定によって、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




