我可以成功地从google analytics核心报告api请求数据,但我正在努力从多渠道漏斗api中获取数据。我很确定我的问题出在权限/访问上,但是我已经看过文档了,不知道到底是什么问题。我正在使用node和googleapis库。这是我提取google分析信息的代码(这是有效的)
var {google} = require('googleapis');
var key = require('./auth.json');
var viewID = 'XXXXXXX';
var analytics = google.analyticsreporting('v4');
var jwtClient = new google.auth.JWT(key.client_email,
null,
key.private_key,
['https://www.googleapis.com/auth/analytics.readonly'],
null);
jwtClient.authorize(function (err, tokens) {
if (err) {
console.log(err);
return;
} else {
console.log('Yup, we got authorized!');
console.log(tokens)
}
});
var req = {
reportRequests: [{
viewId: viewID,
dateRanges: [{
startDate: '2020-11-01',
endDate: '2020-11-01'}],
metrics: [{expression: 'ga:pageViews'}],
dimensions: [{name: 'ga:city'}],
pageSize: 10
}],
};
analytics.reports.batchGet({
auth: jwtClient,
resource: req
},
function (err, response) {
if (err) {
console.log('Failed to get Report');
console.log(err);
return;
}
console.log('Success');
console.log(response.data)
}
);这样就可以很好地生成所需的输出。我尝试更改度量和维度,以便可以提取一些我想要的多通道漏斗信息,但遇到错误
var {google} = require('googleapis');
var key = require('./auth.json');
var viewID = 'XXXXXXX';
var analytics = google.analyticsreporting('v4');
var jwtClient = new google.auth.JWT(key.client_email,
null,
key.private_key,
['https://www.googleapis.com/auth/analytics.readonly'],
null);
jwtClient.authorize(function (err, tokens) {
if (err) {
console.log(err);
return;
} else {
console.log('Yup, we got authorized!');
console.log(tokens)
}
});
var req = {
reportRequests: [{
viewId: viewID,
dateRanges: [{
startDate: '2020-11-01',
endDate: '2020-11-01'}],
metrics: [{expression: 'mcf:sourceMedium'}],
dimensions: [{name: 'mcf:lastInteractionConversions'}],
pageSize: 10
}],
};
analytics.reports.batchGet({
auth: jwtClient,
resource: req
},
function (err, response) {
if (err) {
console.log('Failed to get Report');
console.log(err);
return;
}
console.log('Success - got something back from the Googlez');
console.log(response.data)
}
);它产生了这个
code: 400,
errors: [
{
message: 'Unknown dimensions(s): mcf:lastInteractionConversions, unknown metric(s): mcf:sourceMedium\n' +
'For details see https://developers.google.com/analytics/devguides/reporting/core/dimsmets.',
domain: 'global',
reason: 'badRequest'
}
]我很确定我的问题要么是我的请求来源错误,要么是我的权限只适用于ga而不是mcf,但我不完全理解错误的原因或如何修复它,文档也没有提供太多帮助。任何帮助都会很感谢,谢谢。
发布于 2020-12-24 10:06:12
您使用的是报告应用编程接口V4,而不是多渠道漏斗应用编程接口V3:https://developers.google.com/analytics/devguides/reporting/mcf/v3/reference
您需要的API提供了一个请求数据的方法:
analytics.data.mcf.get()https://stackoverflow.com/questions/65430825
复制相似问题