![](/img/trans.png)
[英]Issue with accessing Google Analytics data with Javascript and API
[英]Manipulating returned Google Analytics API data in Javascript
我正在尝试使用Google Analytics(分析)Embed API来创建有关KPI性能的基于文本的语句,并将其放置在仪表板上。 一个示例语句可能是这样的:“本周有X笔在线交易,与上周的表现相比发生了Y%的变化,这来自Z会话,每会话的近似价值为$ abc”。 这样做的目的是,这将是有用的数据见解,这些数据可以自动生成,并且在页面上所占的空间比图表或图表要少。
为此,我需要能够:
似乎我能够执行第1步和第3步。我可以在API上执行查询,然后将其发送到我的HTML页面,但是我却陷入了第2步-按照我想要的方式操作/更改返回的结果。
举一个真实的例子-假设我要在会话数据中显示每周的变化。 我可以使用以下代码获取最近7天的数据并将其发送到页面上的元素(box1):
var lastSevenDays = new gapi.analytics.report.Data({
query: {
ids: 'ga:123456789',
'start-date':'7daysAgo',
'end-date':'today',
'metrics': 'ga:sessions'
}
});
lastSevenDays.on('success', function(lastSevenDays) {
for (var prop in lastSevenDays) {
var outputDiv = document.getElementById('box1');
outputDiv.innerHTML = lastSevenDays[prop];
}
console.log(lastSevenDays);
});
lastSevenDays.execute();
//profile id: 123456789 isn't real in this example.
效果很好,最近7天的会话数据已写入我的页面。
但是,当我尝试将其与第二个查询结合使用时,则将前7天的数据作为box2(第二次查询)发送到页面,最后以box3(数字上的差异)发送到页面,这是行不通的。
下面的代码尝试。 我在想我的第一个查询可能会从Google Analytics(分析)API返回一个数组,当输出到HTML页面时,该数组似乎可以工作,因为数组中只有一个值。
var lastSevenDays = new gapi.analytics.report.Data({
query: {
ids: 'ga:123456789',
'start-date':'7daysAgo',
'end-date':'today',
'metrics': 'ga:sessions'
}
});
lastSevenDays.on('success', function(lastSevenDays) {
for (var prop in lastSevenDays) {
var outputDiv = document.getElementById('box1');
outputDiv.innerHTML = lastSevenDays[prop];
}
console.log(lastSevenDays);
});
lastSevenDays.execute();
// The previous 7 days
var previousSevenDays = new gapi.analytics.report.Data({
query: {
ids: 'ga:123456789',
'start-date':'7daysAgo',
'end-date':'today',
'metrics': 'ga:sessions'
}
});
previousSevenDays.on('success', function(previousSevenDays) {
for (var prop in previousSevenDays) {
var outputDiv = document.getElementById('box2');
outputDiv.innerHTML = previousSevenDays[prop];
}
console.log(previousSevenDays);
});
previousSevenDays.execute();
// Week on week change, where I am going wrong:
var weekOnWeekChange = lastSevenDays - previousSevenDays;
weekOnWeekChange.on('success', function(weekOnWeekChange) {
for (var prop in weekOnWeekChange) {
var outputDiv = document.getElementById('box3');
outputDiv.innerHTML = weekOnWeekChange[prop];
}
console.log(weekOnWeekChange);
});
weekOnWeekChange.execute();
//profile id: 123456789 isn't real in this example.
我是一个营销人员,只是想学一点点东西,而不是编码员。 因此,我不太熟悉Javascript。 因此,我非常感谢任何能为我指明正确方向的人的建议。
因此,请原谅我的任何重大错误,并在此先感谢您的帮助。
我将从添加一些日志开始
....
'success', function(weekOnWeekChange) {
console.log(weekOnWeekChange);
使用cmd + alt + j(在Mac上)打开控制台。 然后您将能够看到函数返回的内容
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.