首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从google analytics多渠道渠道请求数据

如何从google analytics多渠道渠道请求数据
EN

Stack Overflow用户
提问于 2020-12-24 04:54:30
回答 1查看 189关注 0票数 0

我可以成功地从google analytics核心报告api请求数据,但我正在努力从多渠道漏斗api中获取数据。我很确定我的问题出在权限/访问上,但是我已经看过文档了,不知道到底是什么问题。我正在使用node和googleapis库。这是我提取google分析信息的代码(这是有效的)

代码语言:javascript
复制
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)
  }
);

这样就可以很好地生成所需的输出。我尝试更改度量和维度,以便可以提取一些我想要的多通道漏斗信息,但遇到错误

代码语言:javascript
复制
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)
  }
);

它产生了这个

代码语言:javascript
复制
 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,但我不完全理解错误的原因或如何修复它,文档也没有提供太多帮助。任何帮助都会很感谢,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-12-24 10:06:12

您使用的是报告应用编程接口V4,而不是多渠道漏斗应用编程接口V3https://developers.google.com/analytics/devguides/reporting/mcf/v3/reference

您需要的API提供了一个请求数据的方法:

代码语言:javascript
复制
analytics.data.mcf.get()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65430825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档