テクノロジー: PHP と Javascript を組み合わせた Google Reporting API V4 と Google Visualization API。Google クライアント ライブラリをインストールして使用できない特定の理由があります。
問題: Visualization API は、Google Reporting API が返す型が「無効な型 Integer」であることを示しています。Visualization API で整数型がサポートされていないことは知っていますが、
https://developers.google.com/chart/interactive/docs/reference#DataTable_addColumn
問題は、レポート 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'}";
これは正常に機能しますが、そうする必要はなく (または何かが欠けている)、メトリックとディメンションを動的にする際にいくつかの課題があります。「ユーザー」は確かに数値/整数です。データから列を簡単にマッピングできるのは、私が見落としていると感じずにはいられません。