googleapis在apirequest.js中抛出'undefined'错误

时间:2015-08-06 17:18:31

标签: node.js google-api google-api-nodejs-client

我遇到NodeJs googleapis模块的问题。

我的简单测试:

var google = require('googleapis');
var analytics = new google.analytics('v3');
var OAuth2 = google.auth.OAuth2;
var config = require('./config.js')

var oauth2Client = new OAuth2(config.clientId, config.clientSecret);

// Retrieve tokens via token exchange explained above or set them:
oauth2Client.setCredentials({
  access_token: config.accessToken,
  refresh_token: config.refreshToken
});

// get management list
analytics.management.accounts.list({ auth: oauth2Client }, function(err, response) {
  console.log(err)
  console.log(response)
});

我的结果:

Type Error: Cannot read property 'params' of undefined
    at createAPIRequest (/Users/gkburdett/Documents/Applications/maestro-and-scout/node_modules/googleapis/lib/apirequest.js:76:39)
    at Object.Analytics.management.accounts.list (/Users/gkburdett/Documents/Applications/maestro-and-scout/node_modules/googleapis/apis/analytics/v3.js:342:16)
    at Object.<anonymous> (/Users/gkburdett/Documents/Applications/maestro-and-scout/server/google/test/simpleTest.js:13:31)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

parameters.context.google是一个空白对象。

如果我将apirequest.js第76行更改为空白对象,它会起作用。我在GitHub上提交了一个问题,但是我很难相信我是唯一一个遇到这个问题的人,如果这是图书馆的问题。

2 个答案:

答案 0 :(得分:3)

更改第2行:

var analytics = new google.analytics('v3');

为:

var analytics = google.analytics('v3');

调用analytics.management.accounts.list时,传递给createAPIRequest的上下文选项超出了初始google对象的范围。

答案 1 :(得分:0)

我的api中有一个方法的名称以“ google”开头,并且该方法覆盖了库的某些内部配置对象。我不是评判任何人的专家,但在一个对象中混合内部和用户定义的方法似乎是一个糟糕的设计