【发布时间】:2019-07-26 05:44:30
【问题描述】:
技术:Google Reporting API V4 和 Google Visualization API,结合了 PHP 和 Javascript。我们无法安装和使用 Google 客户端库有一些特定的原因。
问题:Visualization Api 给了我“无效的整数类型”,而这是 Google Reporting API 返回的类型。我知道 Visualization API 不支持整数类型,
https://developers.google.com/chart/interactive/docs/reference#DataTable_addColumn
所以问题是动态使用 Reporting API 标头构建图表表标头的正确方法是什么?我们每次都需要映射数据类型吗?
简而言之:我查询 Analytics 数据并获得以下标头结构:
[columnHeader] => Array
(
[dimensions] => Array
(
[0] => ga:date
)
[metricHeader] => Array
(
[metricHeaderEntries] => Array
(
[0] => Array
(
[name] => ga:users
[type] => INTEGER
)
[1] => Array
(
[name] => ga:sessions
[type] => INTEGER
)
)
)
)
当我尝试创建列时,
...
$mtype = $headers['metricHeader']['metricHeaderEntries'][0]['type'];
...
$column_object = "{'type':'$mtype','label':'$mname'}";
// produces {'type':'INTEGER','label':'ga:users'}
...
data.addColumn($column_object);
(Firefox)控制台日志“无效类型,INTEGER,用于列“用户”。
我可以在这里通过硬编码类型的“数字”来“作弊”:
$column_object = "{'type':'number','label':'$mname'}";
这很好,但我不应该(或遗漏一些东西)并且在使指标和维度动态化方面提出了一些挑战。 “用户”确实是一个数字/整数。不禁感到这是我忽略的东西,很容易从数据中映射列。
【问题讨论】:
标签: google-visualization google-reporting-api