使用公共访问API密钥在Analytics API上出现401错误

时间:2015-07-16 23:23:02

标签: node.js google-analytics-api

不确定如何以任何其他方式对此进行测试,但使用公共访问API密钥会导致Result: Login Required错误。 Google Analytics不能通过公共访问密钥调用吗?

var google = require('googleapis')
var analytics = google.analytics('v3')
var c = require('./config.json')

analytics.data.ga.get({
    key: c.key,
    'ids': c.ids,
    'start-date': '2015-07-15',
    'end-date': '2015-07-24',
    'metrics': 'ga:sessions'
})

1 个答案:

答案 0 :(得分:1)

不确定Google AnalyticsAPI是否仅使用public_api密钥支持呼叫,因此我可以使用服务帐户实现访问。

var google = require('googleapis'),
    analytics = google.analytics({ version: 'v3'})
    key = require('./key.json'),

var jwtClient = new google.auth.JWT(
    key.client_email,
    null,
    key.private_key,
    ['https://www.googleapis.com/auth/analytics.readonly'],
    null)

analytics.data.ga.get({
  'ids': 'ga:xxxxxxx',
  'start-date': startDate,
  'end-date': endDate,
  'metrics': 'ga:sessions',
  auth: jwtClient
  }, function (err, resp) {
    console.log(resp)
  })