Google Analytics API 以可读格式输出数据
Google Analytics API output data in a readable format
我正在使用 Embed API 以便使用服务器端身份验证显示 Google 分析数据。
我已经能够显示我需要的图表,但现在我遇到了问题,
我正在尝试显示 Google Analytics 使用的以下 table:
我已经能够显示相同的数据,但它们不像 Analytics 显示的那样可读,例如 Avg。会话持续时间 应以秒为单位表示,但我显示的是:165.28275862068966
我的问题是,有什么方法可以向 Embed 请求正确的数据格式 API 还是我需要自己计算?
我调用的查询示例是这样的:
var dataChart5 = new gapi.analytics.googleCharts.DataChart({
query: {
'ids': 'ga:***', // My ID
'start-date': '31daysAgo',
'end-date': 'yesterday',
'metrics': 'ga:users,ga:percentNewSessions,ga:sessions,ga:bounceRate,ga:avgSessionDuration,ga:pageviews,ga:pageviewsPerSession',
'prettyPrint':'true',
},
chart: {
'container': 'chart-5-container',
'type': 'TABLE',
'options': {
'width': '100%',
'title': 'test'
}
}
});
dataChart5.execute();
数据由 Google Analytics API
以原始格式返回
The average duration of user sessions represented in total seconds.
Data type: TIME
所以您看到的数字是 165.28275862068966 秒。如果你想看到它像它在网站上显示的那样
00:00:00
您将不得不自己格式化它。 API returns 其数据以一种格式表示,在这种情况下它的总秒数。
这是一个真实的答案...
示例节点代码...
const moment = require( "moment" );
function formatTime(str) {
var dur = moment.duration(parseInt(str,10), 'seconds');
var minutes = dur.minutes();
var seconds = dur.seconds();
return minutes + " minutes and " + seconds + " seconds";
}
console.log( formatTime( "165.282" ) );
我正在使用 Embed API 以便使用服务器端身份验证显示 Google 分析数据。 我已经能够显示我需要的图表,但现在我遇到了问题, 我正在尝试显示 Google Analytics 使用的以下 table:
我已经能够显示相同的数据,但它们不像 Analytics 显示的那样可读,例如 Avg。会话持续时间 应以秒为单位表示,但我显示的是:165.28275862068966
我的问题是,有什么方法可以向 Embed 请求正确的数据格式 API 还是我需要自己计算?
我调用的查询示例是这样的:
var dataChart5 = new gapi.analytics.googleCharts.DataChart({
query: {
'ids': 'ga:***', // My ID
'start-date': '31daysAgo',
'end-date': 'yesterday',
'metrics': 'ga:users,ga:percentNewSessions,ga:sessions,ga:bounceRate,ga:avgSessionDuration,ga:pageviews,ga:pageviewsPerSession',
'prettyPrint':'true',
},
chart: {
'container': 'chart-5-container',
'type': 'TABLE',
'options': {
'width': '100%',
'title': 'test'
}
}
});
dataChart5.execute();
数据由 Google Analytics API
以原始格式返回The average duration of user sessions represented in total seconds. Data type: TIME
所以您看到的数字是 165.28275862068966 秒。如果你想看到它像它在网站上显示的那样
00:00:00
您将不得不自己格式化它。 API returns 其数据以一种格式表示,在这种情况下它的总秒数。
这是一个真实的答案...
示例节点代码...
const moment = require( "moment" );
function formatTime(str) {
var dur = moment.duration(parseInt(str,10), 'seconds');
var minutes = dur.minutes();
var seconds = dur.seconds();
return minutes + " minutes and " + seconds + " seconds";
}
console.log( formatTime( "165.282" ) );